“致命的:不好的修订”是什么意思?
在上下文中:
git revert HEAD~2 myFile fatal: bad revision '/Users/rose/gitTest/myFile'
我确定HEAD〜2存在。
编辑琥珀是正确的。 我打算使用reset
而不是revert
。
如果您只想在给定的提交中将单个文件恢复到其状态,则实际上要使用checkout
命令:
git checkout HEAD~2 myFile
revert
命令用于恢复整个提交(并且不会将您恢复为提交;实际上它只是恢复由该提交所做的更改 – 如果在指定的提交之后还有另一个提交,则以后的提交将不会恢复)。
git revert
不采取文件名参数。 你想要git checkout
?
Git还原只接受提交
从文档:
给定一个或多个现有的提交,恢复相关的修补程序引入的更改…
myFile
被解释为提交 – 因为git revert
不接受文件path; 只提交
更改一个文件以匹配先前的提交
要更改一个文件以匹配以前的提交 – 使用git checkout
git checkout HEAD~2 myFile
我在IntelliJ中得到这个错误,这些答案都没有帮助我。 所以这是我如何解决它。
不知何故,我的一个子模块添加了一个.git
目录。 所有的gitfunction,我删除后返回。
我有一个“致命的:坏的版本”与Idea / Webstorm,因为我有一个在另一个git目录,没有使用正确的子模块或子树。
我检查了.git
dirs:
find ./ -name '.git' -print
你为什么在那里指定myFile
?
Git还原恢复您指定的提交。
git revert HEAD~2
恢复HEAD~2
提交
git revert HEAD~2 myfile
还原HEAD~2
和myFile
我把我的文件是你想要恢复的文件? 在这种情况下使用
git checkout HEAD~2 -- myFile
如果你想删除任何提交,那么你可能需要使用git rebase命令
git rebase -i HEAD〜2
它会显示你最后2提交消息,如果你删除提交消息,并保存该文件删除提交将自动消失…