关于作者

Discuss / Git / 原文的一些错误导致评论区炸天了

原文的一些错误导致评论区炸天了

Topic source

大熊原子笔

#1 Created at ...

另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删> 的文件恢复到最新版本:

$ git checkout -- test.txt

原文有误,因为使用了git rm test.txt,是同时删除了工作区的test.txt文件,并且将删除的动作提交到了暂存区。

git checkout -- test.txt 表示从暂存区中把test.txt拎出来,覆盖到工作区。但是,此时暂存区也已经没有了test.txt,是无法还原覆盖到工作区的。

正确的做法是 git checkout HEAD -- d1.txtgit checkout HEAD d1.txt

廖老师也是人不是神,会笔误犯错。觉得有疑问的时候,可以参考 ProGit

__hello-cc__

#2 Created at ...

git checkout -- test.txt 针对的是rm test.txt 如果是git rm test.txt, 参看之前的版本回退, git reset -- hard XXXXXXX

全球顶尖骇客

#3 Created at ...

#2楼说得大概就是廖老师想表达的

##原文第一种情况指的是确实想删除所以用了git rm,并没有说第二种情况是通过git rm 删除的,指的是误删除,联系之前讲的文章应该知道工作区和暂存区都删除的情况可以通过git reset head回滚。而本节最后提了小节也做了说明了,只要提交到版本库中,是能回复到最新版本的。一楼指的命令大概是后面廖老师要讲的命令。此节无争议

全球顶尖骇客

#4 Created at ...

2楼说得大概就是廖老师想表达的

原文第一种情况指的是确实想删除所以用了git rm,并没有说第二种情况是通过git rm 删除的,指的是误删除,联系之前讲的文章应该知道工作区和暂存区都删除的情况可以通过git reset head回滚。而本节最后提了小节也做了说明了,只要提交到版本库中,是能回复到最新版本的。一楼指的命令大概是后面廖老师要讲的命令。此节无争议


  • 1

Reply

WARNING: You are using an old browser that does not support HTML5. Please choose a modern browser (Chrome / Microsoft Edge / Firefox / Sarafi) to get a good experience.