初始化
创建版本库
git 基于文件夹(工作树)进行版本控制,在一个文件夹中创建 git版本库:
$ cd project/
$ git init
Initialized empty Git repository in .git/
输出信息:在当前文件夹的 .git/ 目录下创建版本库 |
将文件提交到 git索引:
git add file1 file2 file3 ……
更方便的作法是将当前文件夹中的所有文件全部加入到索引中
git add .
- 可以在
.gitignore
文件中设置排除的文件(通常把临时文件排除)
注意 | |
---|---|
git 只负责管理被索引的文件 |
此时,文件还没有被提交到版本库。向版本库提交第一个版本:
git commit
git commit -m "备注"
调用系统默认编辑器编辑备注内容 |
版本库状态
使用 git status 命令查看版本库状态。先创建一个演示版本库:
mkdir sandbox #新建一个文件夹
cd sandbox/ #进入该文件夹
git init #初始化版本库
touch a b #新建 a b 两个文件
git add . #将这两个文件提交到索引
git commit -m "创建git版本库" #将第一个版本提交到版本库
这时使用 git status
查看版本库状态:
# On branch master
nothing to commit (working directory clean)
对文件进行一些操作:
vi a #编辑 a
rm b #删除 b
touch c #新建 c
再用 git status
查看:
- # On branch master #在 master 分支上
- # Changes to be committed: #已提交到索引,等待提交到版本库(其实本例中没有这一段)
- # (use "git reset HEAD <file>..." to unstage)
- #
- #
new file: e
- #
modified: f
- #
- # Changed but not updated: #改动未提交到索引
- # (use "git add/rm <file>..." to update what will be committed)
- #
- # modified: a
- # deleted: b
- #
- # Untracked files: #文件未提交到索引
- # (use "git add <file>..." to include in what will be committed)
- #
- # c
- no changes added to commit (use "git add" and/or "git commit -a")
注意 | |
---|---|
如果只是想删除该文件夹中的版本库,只要删除 .git/ 目录即可
|
配置
git 初始化后,会在.git/
目录下创建一个版本库,其中.git/config
为配置文件。
用户信息
为当前版本库添加用户信息[62]:
[user]
name = kardinal
email = 2999am@gmail.com
也使用全局用户信息,在~/.gitconfig
中写入上述内容,或者使用命令:
git config --global user.name "kardinal"
git config --global user.email 2999am@gmail.com
语法高亮
在~/.gitconfig
文件中添加如下语句,使用容易阅读的彩色来输出信息:
[color]
branch = auto
diff = auto
status = auto
或者自己定义:
branch.current # color of the current branch
branch.local # color of a local branch
branch.plain # color of other branches
branch.remote # color of a remote branch
diff # when to color diff output
diff.commit # color of commit headers
diff.frag # color of hunk headers
diff.meta # color of metainformation
diff.new # color of added lines
diff.old # color of removed lines
diff.plain # color of context text
diff.whitespace # color of dubious whitespace
status # when to color output of git-status
status.added # color of added, but not yet committed, files
status.changed # color of changed, but not yet added in the index, files
status.header # color of header text
status.untracked # color of files not currently being tracked
status.updated # color of updated, but not yet committed, files
[62] 这是必需的,请不要忽略