(二) 如何提交文件和历史版本恢复
最后更新于:2022-04-01 11:37:43
上篇博客已经介绍了初始化版本库以及建立文件等操作,接下来让我们继续看如何新建、修改、提交、恢复历史版本等操作命令。
#查看文件的状态git status
先让我们来建一个简单的tgb.txt文件,如下通过git add tgb.txt 、git commit -m "version10 tgb" tgb.txt 将文件提交到版本库。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-05-03_572846cb99b73.jpg)
为了查看状态明显,我们再来修改一下tgb.txt这个文件,可以增加一行,如: love the world version1.0
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-05-03_572846cbb1695.jpg)
在上面的步骤中我们通过 echo 、>> 两个命令往tgb.txt文件的末尾添加了一行信息 ,然后 命令git status 查看了该文件的状态,从显示结果可以看出该文件被修改了但是还没有提交。
没有被提交的文件在暂存区里面,这里我们并不能够看出提交了什么内容,如果想要看到提交了什么内容,还需要使用另外一个命令git diff (diffrence),如
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-05-03_572846cbc9723.jpg)
当把tgb.txt文件都提交之后,我们通过git status命令查看文件状态,显示当前分支没有可以提交的内容。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-05-03_572846cbde52f.jpg)
#版本回退操作
当你修改了一个代码文件或者错误的删除了一些内容,有时候需要回退,正常人性化的软件都会支持这些操作,在git里面照样也支持,首先可以通过git log查看最近的提交的历史版本有哪些,如下图
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-05-03_572846cbf38aa.jpg)
上图表示进行了四部操作,从最近操作排序,第一个是删除了 git文件 第二步是添加了 “了love the world version2.0”…………,你想回归到任何一个版本都是可以的,可以通过下面命令操作,例如想恢复到上一个版本。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-05-03_572846cc15812.jpg)
在上面进行了恢复最近一个版本,可以删除的git.txt文件又回来了,是不是很方便呢,解释一下版本恢复命令: reset --hard HEAD^ ,表示上一个版本,HEAD^^,表示上两个版本,简写形式 HEAD~10表示恢复到上10个版本,这里有个问题是我们更改过很多版本但是有时候我们并不知道哪个版本改了什么东西。
这个命令还可以用 commit_id当版本表示,如reset --hard HEAD commit_id ,
git如果恢复到某个历史版本后,这个版本之前的状态就会查询不出来,为了还可以恢复到未来某个版本,我们需要查询最近所做的操作,可以通过git reflog 命令,得到commit_id之后再通过reset命令来达到效果,如图
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-05-03_572846cc2abaf.jpg)
# 总结:
git是一个优秀的分布式版本管理系统,有了git为开源事业做出了巨大贡献,正在不过研究和使用git.