我正在尝试通过跟随@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提交的帮助将不胜感激。提前致谢。
答案 0 :(得分:1)
^
字符表示“使用此ref / hash查找提交的第一个父级”。因此,fe4e3fc^
表示“使用哈希fe4e3fc
查找提交的父级”。由于这是repo的初始提交,这自然是不可能的,因为在那之前没有提交。
还值得了解的是~
字符,它类似地用于指定提交的父(或祖父母等)。有关^
和~
工作原理的详细信息,请参阅this question。在这种情况下,您可以使用HEAD~2
并引用相同的提交fe4e3fc
,因为它是HEAD
的两个“代”。
如果您的目标是以某种方式修改初始提交,请参阅this question。