繁体   English   中英

“fatal: bad revision”是什么意思?

[英]What does "fatal: bad revision" mean?

在上下文中:

git revert HEAD~2 myFile
fatal: bad revision '/Users/rose/gitTest/myFile'

我确定 HEAD~2 存在。

编辑琥珀色是正确的。 我打算使用reset而不是revert

如果您只想将单个文件还原到给定提交中的状态,实际上您想要使用checkout命令:

git checkout HEAD~2 myFile

revert命令用于恢复整个提交(和它不会回复犯下;它实际上只是恢复通过提交所做的更改-如果你有另一个你指定一个后提交,提交后不会恢复)。

我在IntelliJ中遇到了这个错误,这些答案都没有帮助我。 所以这就是我解决它的方式。

不知何故,我的一个子模块添加了一个.git目录。 删除后返回所有git功能。

git revert不接受文件名参数。 你想要git checkout吗?

我使用Idea / Webstorm进行了“致命:糟糕的修改”,因为我在另一个内部有一个git目录,没有使用正确的子模块或子树。

我检查了.git dirs:

find ./ -name '.git' -print

Git revert只接受提交

来自文档:

给定一个或多个现有提交,还原相关修补程序引入的更改...

myFile被解释为提交 - 因为git revert不接受文件路径; 只提交

更改一个文件以匹配先前的提交

要更改一个文件以匹配先前的提交 - 请使用git checkout

git checkout HEAD~2 myFile

我和Intellij有类似的问题。 问题是有人将我试图在Intellij中比较的文件添加到.gitignore,而实际上没有从Git中删除文件。

你为什么在那里指定myFile

Git还原会还原您指定的提交。

git revert HEAD~2

恢复HEAD~2提交

git revert HEAD~2 myfile

恢复HEAD~2myFile

我拿myFile是你想要还原的文件? 在那种情况下使用

git checkout HEAD~2 -- myFile

如果要删除任何提交,则可能需要使用git rebase命令

git rebase -i HEAD~2

它将显示最后2个提交消息,如果删除提交消息并保存该文件,则删除提交将自动消失...

在我的情况下,我有一个不一致的状态,其中有问题的文件(带有错误的提交哈希)实际上没有添加到Git,这与IntelliJ的状态发生了某种程度的冲突。 在命令行上使用git手动添加文件为我修复了问题。

我尝试了所有这些,git 抱怨说我试图检出的文件的路径规范未知。

对我来说最简单的修复是在本地删除已经版本化的文件并恢复到版本化版本。

对我来说,我在错误的目录中,甚至没有注意到

我使用git revert 3d4a5bc并收到相同的 fatal: bad revision 错误。

在我的例子中,VS Code 中的git bash终端出现问题,我切换到默认的 CMD Windows 终端(也在 VS Code 中),并且命令运行良好!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM