【问题标题】:git fixup: get hash of original commitgit fixup:获取原始提交的哈希
【发布时间】:2021-06-13 10:48:35
【问题描述】:

git rebase -i --autosquash 如何知道与修复相关的原始提交? git commit --fixup 创建的唯一“元数据”似乎是日志消息(“修复!”+原始消息)。原始提交哈希未存储在修复提交中的任何位置(至少,我不能从 git show --raw 看出)。

那么给定修复提交,我如何才能找到被修复的原始提交?

我问是因为git rebase 仍然希望你输入一个提交哈希,即使它应该从我想要<original-hash>^ 的修复中暗示;也许是一个别名。

【问题讨论】:

    标签: git git-commit git-rebase


    【解决方案1】:

    引用the doc

    --autosquash
    --no-autosquash

    当commit log消息以“squash!...​”(或“fixup!...​”)开头,并且todo列表中已经有一个commit匹配相同的...时,自动修改todo列表rebase -i 以便标记为压缩的提交在要修改的提交之后立即出现,并将移动提交的操作从pick 更改为squash(或fixup)。

    [强调我的:]
    如果提交主题匹配,或者如果 ... 指的是提交的哈希,则提交匹配 ...

    作为后备,提交主题的部分匹配也起作用。创建修复/壁球提交的推荐方法是使用 git-commit[1] 的 --fixup/--squash 选项。

    注意“提交主题”是指“提交信息的第一行”——而不是“完整的提交信息”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-10
      • 1970-01-01
      • 2014-10-29
      • 2012-12-31
      • 2018-06-21
      • 2016-04-03
      • 2013-03-18
      • 1970-01-01
      相关资源
      最近更新 更多