修改指定的Git提交时无效的上游错误(不是HEAD)

时间:2013-09-01 22:24:02

标签: git

我正在尝试通过跟随@ZelluX answer来学习如何修改不是HEAD的指定提交(fe4e3fc)。但是,我遇到了以下错误

$ git log --oneline
b18762f Added Hey Hey
aa9c57d Put Hey in test
fe4e3fc Initial Test
$ git rebase --interactive fe4e3fc^
fatal: Needed a single revision
invalid upstream fe4e3fc^
$

我注意到他在答案中的哈希后面有^。任何帮助我了解如何编辑非HEAD提交的帮助将不胜感激。提前致谢。

1 个答案:

答案 0 :(得分:1)

^字符表示“使用此ref / hash查找提交的第一个父级”。因此,fe4e3fc^表示“使用哈希fe4e3fc查找提交的父级”。由于这是repo的初始提交,这自然是不可能的,因为在那之前没有提交。

还值得了解的是~字符,它类似地用于指定提交的父(或祖父母等)。有关^~工作原理的详细信息,请参阅this question。在这种情况下,您可以使用HEAD~2并引用相同的提交fe4e3fc,因为它是HEAD的两个“代”。

如果您的目标是以某种方式修改初始提交,请参阅this question