本文共 1190 字,大约阅读时间需要 3 分钟。
接着,首先确定工作区中是干净的,查看工作区的文件以及文件的内容:
下面在test.txt中新增一行:echo 'line 3' >> test.txtcat test.txt当然也可以使用vi打开文件编辑,如果只是简单的往文件末尾追加一行的话,使用这个命令更快捷。 下面查看状态: git 提示有修改没有被暂存,修改的文件为test.txt,可以使用git add加修改加入暂存区,也可以使用git checkout丢弃工作区中的修改。 使用如下命令:
git checkout -- test.txt
结果如下:
使用这个命令时要当心,由于该修改没有加入版本库,如果误操作,无法找回丢弃的修改!确定当前工作区是干净的,并查看文件内容
下面修改文件内容:echo 'line 1' > test.txt // 注意与上一节命令 echo 'line 3' >> test.txt 的区别将修改加入暂存区: git提示可以使用git reset HEAD删除暂存区的修改,在中,使用了git rm --cache 命令来删除暂存区的修改,下面试试这个新的命令
git reset HEAD test.txt可以看到,又变回了没有使用git add命令是的状态,与git rm --cache的作用是一样的。
查看当前工作区的状态:
下面添加一个文件并提交,这个前面都演示过,直接上图: 新加的文件test2.txt已经加入了版本库,下面将其从版本库中删除:git rm test2.txt可以看到,暂存区中有一个修改等待提交,修改的内容为’删除test2.txt’,工作区中没有test2.txt文件。 同样,使用上一节的git reset HEAD命令丢弃暂存区的修改: 现在的提示是有修改没有加入暂存区,修改的内容是’删除test2.txt’,工作区中没有test2.txt文件。 再使用git checkout丢弃工作区中的修改: 可以看到,当前工作区又变干净了,而且刚删除的test2.txt又回来了。
也就是说,使用git rm删除版本库中的文件后,用两步将删除的文件恢复了回来。
然而还没有结束,linux系统也有一个删除文件的命令 rm ,有什么区别呢,下面来试试。
rm test2.txt现在git的状态其实上面使用
git rm test2.txtgit reset HEAD test.txt
两条命令后的状态一样。
接着提交修改: 这时的状态与使用git rm test2.txt
命令后一样。
所以:git rm test2.txt 等同于 rm test2.txt + git add test2.txt
同理,git mv命令也是一样的。
转载地址:http://frkti.baihongyu.com/