【问题标题】:Invalid Upstream Error while Modifying a Specified Git Commit (Not HEAD)修改指定的 Git 提交(非 HEAD)时出现无效的上游错误
【发布时间】:2013-09-04 23:47:42
【问题描述】:

我正在尝试通过关注 @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 提交的帮助将不胜感激。提前致谢。

【问题讨论】:

  • 你指的是什么答案?我没有看到另一个 SO 问题的链接。
  • 链接在@ZelluX 之后。我现在把链接加宽
  • 我现在看到了 - 我以前访问过它,所以它一点也不突出。我的错。
  • +1 不,我的错,我应该一开始就让链接更宽。感谢您指出这一点。

标签: git


【解决方案1】:

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

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

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

【讨论】:

  • +1 哦,好的,所以我可以省略 ^ 进行初始提交。谢谢
  • @Anthony 请查看我的编辑 - 链接的问题应该正是您所需要的。
猜你喜欢
  • 2021-10-05
  • 1970-01-01
  • 2020-12-05
  • 1970-01-01
  • 1970-01-01
  • 2017-01-31
  • 2021-08-05
  • 2019-10-03
  • 1970-01-01
相关资源
最近更新 更多