版本库又名仓库(repository),可以简单的理解为一个目录,这个目录里面的所有文件都可以被GIT管理起来,每个文件的修改、删除、Git都能被跟踪,以便任何时刻都可以追踪历史,或者进行还原。
1 创建仓库
创建一个版本库命令如下:
(1)
mkdir命令是创建一个新的文件夹,pwd用于显示当前目录。这些是在git bush上执行的,在git cmd上命令可能有所不同。在windows中为了避免不必要的麻烦,尽量用英文给文件命名。
(2)通过git init 命令把这个目录变成Git可以管理的仓库。
瞬间Git就把仓库建好了,而且是一个空的仓库(empty git repository)。可以发现当前目录下多一个.git的目录,这个目录是Git来跟踪管理版本库。
如果没看到 .git目录,那是因为这个目录默认是隐藏,用ls-ah命令就可以看见。
Microsoft的Word格式是二进制格式,因此,版本控制系统是没法跟踪Word文件的改动。
2. 把文件添加到版本库
编写一个任意的txt文档,以编写readme.txt为例。可以写入任意内容。将一个文件放到Git仓库只需要两步。
第一步:用命令git add告诉Git,把文件添加到仓库。可以同时添加多个文件。例如;
git add readme.txt
git add s.txt
也可以添加所有:
git add .
执行上述命令,把文件添加到仓库。没有任何显示就说明对了。
第二步:用命令 git commit告诉Git,把文件提交到仓库。
git commit -m “write a file”
Git commit命令,后面的-m输入的是本次提交的说明,可以是任意内容,最好是有意义的,这样方便自己查找。
如果没有看到‘.git’,那这个目录可能属于隐藏文件,因此使用ls -ah命令就可以了。
3. 查看现在仓库的状态
(1)git status
使用git status命令可以随时掌握当前仓库的状态,上面命令提示readme.txt进行了修改,但对于word文档则不能追踪其变换。但该命令仅仅是知道了修改,不能知道具体修改了什么内容。
(2)git diff
使用git diff查看具体的内容变换。
4. 版本回退
每当觉得文档修改到一定程度后想进行一个保存,类似于“保存一个快照”,这个快照在git中被称为commit。一旦文件被删除、或者改乱了可以选择一个最近的commit恢复,而不是工作几个月的成果消失。
实际应用了,往往不记得谁修改了这些文档。可以使用git log来查看。
(1)git log
如图12可以发现文档的提交,最下面“add a file”是在git commit - m “xxxx”中xxx的内容。
git log会显示从最近到最远的提交日志。当你文档较少是使用该命令查看,但文档较多是会显示很长的一大串。为了更加方便,可以使用git log --pretty=oneline命令。
如图你提交后,窗口中只显示commit的内容。这一串内容是commit id(版本号),是一个SHA1计算出来的数字,用16进制表示。使用git的可视化界面也可以方便的查看。
(2)git reset
Readme当前的内容是:
想让此文档退回到上一版本,可以使用git reset --hard HEAD^
上一版本的id和备注。重新进入readme进行查看。
可以发现添加的最后一行没有了。
现在又想回到最近版本怎么办?查找上一版本的id,使用如下命令。(输入前几位即可,太短也不行)
输入版本号的前几位就可以了。现在进入readme中重新查看。
时间太长有可能忘记commit id是多少,可以使用git reflog命令,该命令记录了你的每一次命令。
这个就是写良好的备注的优势。