版本
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
爽,(注:如果使用的是系统管理员,那么设置的别名可以被所有人员使用)
$ sudo git config --system alias.st status
$ sudo git config --system alias.ci commit
$ sudo git config --system alias.co checkout
$ sudo git config --system alias.br branch
也可以通过以下方式,只设置当前用户的全局方式
$ git config --global alias.st status
$ git config --global alias.ci commit
$ git config --global alias.co checkout
$ git config --global alias.br branch
命令行颜色设置
$ git config --global color.ui true
初始化
git初始化命令非常简单git init
$ cd /git/test
$ git init demo
这样初始化已经做好了,在demo下会有一个.git文件,这个隐藏的.git就是Git的仓库,而/git/test/demo
被称为工作区
提交内容
新建一个测试文件
$ cd /git/test/demo/
$ echo "Hello Git." > hellogit
将hellogit添加到仓库
$ git add hellogit # 此时并没有提交,这与svn是一样的,需要执行下一步commit才算提交
$ git commit -m "init hellogit file"
执行完毕之后会得到以下输出
[master (root-commit) ac01ff3] init hellogit file
1 file changed, 1 insertion(+)
create mode 100644 hellogit
从结果上看提交到master分支上,第一个提交为root-commit,提交ID为ac01ff3,
第二行此次修改了一个文件,包含了一行插入
第三行此次提交创建了新文件 hellogit
.git
git提供了一个非常方便的命令用来进行搜索
$ git grep "文件内容搜索"
如
$ git grep "Hello"
hellogit:Hello Git.
.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