下面的内容基本总结自《git版本控制管理》的第二章。
git help --all
:获得全部的子命令列表。为了见识git的操作,我们新建一个版本库,添加一些内容,然后管理一些修订版本。
2.1、创建初始版本库
$ mkdir ~/public_html
$ cd ~/public_html
$ echo 'My website is alive' > index.html
执行git init,将~/public_html或任何目录转化为git版本库。git init在项目的顶层目录创建了一个隐藏目录.git,然后将所有的修订信息都放在这个目录里。
$ git init
Initialized empty Git repository in .git/
2.2、添加文件到版本库
$ git add index.html
到目前为止,git只是暂存(staged)了这个文件,运行git status命令显示中间状态的index.html。之后提供此次提交的日志和本次变更的作者。
$ git commit -m "Initial contents of public_html" --author="Hanson Joe"
2.3、配置提交作者
在对版本库做多次提交前,应该建立一些基本环境变量和配置选项。git必须知道你的名字和email地址。
$ git config user.name "Hanson Joe"
$ git config user.email "[email protected]"
git支持不同层次类型的配置文件,按优先级递减顺序如下:
.git/config
:版本库特定的配置设置,可以用--file修改,这些设置拥有最高的优先级。
~/.gitconfig
:用户特定的配置设置,可用--global选项修改。
/etc/config
:系统范围的配置设置,优先级最低。可用--system修改,这个文件可能在其他位置,也可能完全不存在。
比如:建立一个作者名和email地址可以用如下命令:
$ git config --global user.name "Hanson Joe"
$ git config --global user.email "[email protected]"
为了设置一个版本库特定的名字和email,只需要省略global标志。像前面介绍的那样。
2.4、查看提交
$ git log
$ git show 9da581d910c9c4ac93557ca4859e76
git log会产生版本库里一系列单独提交的历史,按照最新到最老的顺序罗列出来。 git show加一个提交码可以查看更加详细的提交信息。
2.5、 查看提交差异
$ git diff 9da581d910c9c4ac93557ca4859e76 \
ec232cddfb94edo65855edf75ack33
2.6、版本库内文件的删除和重命名
和添加文件是相反的动作,分两步:git rm/git commit,也可以通过git rm/git add组合来间接为一个文件重命名,也可以更快通过git mv命令做到:
$ mv foo.html bar.html
$ git rm foo.html
$ git add bar.html
equals to
$ git mv foo.html bar.html
2.7、创建版本库副本
$ cd
$ git clone public_html my_website