前言
本文是对《Git权威指南》的简单记录,如果看过原著可以绕过
PS:包括后面的Git之系列的文章都可以绕道而行
版本
git --version
用来查询当前机器上的git的版本号
配置变量
git的配置变量是一次性工作,这些设置会在全局文件(用户目录下的.gitconfig)或系统文件(如/etc/gitconfig)中记录
用户名和邮件
$ git config --global user.name "smxknife"
$ git config --global user.email smxknife@qq.com
上面两条命令分别用来配置当前用户的姓名和邮件地址,这将会在版本库提交时用到
别名设置
别名是为了命令操作更爽,试想一下,输入git ci
爽还是输入git commit
爽,(注:如果使用的是系统管理员,那么设置的别名可以被所有人员使用)
1 | $ sudo git config --system alias.st status |
也可以通过以下方式,只设置当前用户的全局方式
1 | $ git config --global alias.st status |
命令行颜色设置
$ git config --global color.ui true
初始化
git初始化命令非常简单git init
$ cd /git/test
$ git init demo
这样初始化已经做好了,在demo下会有一个.git文件,这个隐藏的.git就是Git的仓库,而/git/test/demo
被称为工作区
提交内容
新建一个测试文件
1 | $ cd /git/test/demo/ |
将hellogit添加到仓库
1 | $ git add hellogit # 此时并没有提交,这与svn是一样的,需要执行下一步commit才算提交 |
执行完毕之后会得到以下输出
1 | [master (root-commit) ac01ff3] init hellogit file |
从结果上看提交到master分支上,第一个提交为root-commit,提交ID为ac01ff3,
第二行此次修改了一个文件,包含了一行插入
第三行此次提交创建了新文件 hellogit
.git
git提供了一个非常方便的命令用来进行搜索
$ git grep "文件内容搜索"
如
1 | $ git grep "Hello" |
.git/index文件记录工作区文件的状态(实际上是暂存区的状态)
git命令是在工作区工作的,如果在工作区的子目录下,git会一直递归查找.git目录,如果所有的目录中递归无法找到,将会报错。那么如何定位.git的工作区的根目录呢?
$ git rev-parse --git-dir
显示工作区根目录
$ git rev-parse --show-toplevel
相对工作区根目录的相对目录
$ git rev-parse --show-prefix
显示档期目录后退到工作区根目录的深度
$ git rev-parse --show-cdup