文件修改了使用 git add 添加文件,再用 git commit 提交就行了
不过如果遇到文件被删除,要获取历史版本的话就需要进行其他的操作了
$ git log
输入命令查看操作历史
一长串的 4b5db23…… 是Git自动生成的版本号
如果日志过多的话,可以让日志显示为单行,并且缩写版本号
$ git log --pretty=oneline --abbrev-commit
这样就一目了然了
我们删除 README.txt 文件
$ rm -rf "README.txt"
执行后使用 git status 命令可以看到,提示说删除README.txt的操作等待提交
现在假如删除README.txt是一个误操作,但是文件已经添加到工作区了,怎么办
在待提交状态下,命令行提示说可以使用 git checkout 命令放弃当前工作区的修改
这样README.txt就回来了
再来一种情况,假如文件已经删除,并且已经提交了,是不是只能扼腕叹息了
No!我们还有“后悔药”可以吃
可以看到 4b5db23 这个版本号就是删除README.txt文件前的版本,只要回到这个版本就行了
$ git reset --hard HEAD^
HEAD 表示当前版本,^代表上一级
一个^就代表一级,^^就代表上2级,所以n个^就是n级
但是这样太麻烦了,还是来看看另一个跳转版本的方法吧
当当当~README.txt回来了
那么问题又来了,如果发现其实没有误删,又想回到刚才那个版本怎么办(吃我一锤!)
$ git reset --hard versonNumber
versonNumber表示版本号,我们只要输入刚才已删除那个版本提交的版本号就可以又回到最新的版本了
只要上面的记录还没有清除,就可以直接复制过来跳转版本啦
这样就又回到了最新的版本
但是!如果上面的记录已经清除了怎么办?不用担心,每次输入命令的时候git都有记录
$ git reflog
可以看到,列出了我们在learngit仓库里使用的所有命令,前面的7位就是版本号,有了版本号就可以进行版本跳转了
我感觉命令有点多了,要熟练运用的话——无他,唯手熟尔