gpt4 book ai didi

git: squash/fixup 更早的提交

转载 作者:IT王子 更新时间:2023-10-29 01:11:08 24 4
gpt4 key购买 nike

假设你有:

A-B-C

现在您的构建/测试失败了。该修复程序应 merge 到 A 中。我目前的工作流程是这样的:

$ git commit -m "fixA"

A-B-C-fixA

$ git rebase -i A~1

然后在 A 中压缩 fixA,结果:

A'-B-C

是否有命令可以执行以下操作:

A-B-C + (index with fix for A)

$ git commit -supperdupper A

结果:

A'-B-C

最佳答案

如果您只是在寻找修复早期提交的简单解决方案,请阅读问题!它解释了一切。但由于 Elmarco 要求的是一种巧妙的方式,我们开始吧:

从 Git 1.7.0 开始,rebase 有一个 --autosquash 选项,这就是你想要的。 commit 也有 --fixup--squash 选项。让事情变得更容易。通过一些别名,您甚至可以将整个事情放入一个命令中。

我建议升级到最新的 Git 以获得最大的威力:

git/Documentation/RelNotes $ grep -i -A1 autosquash\\\|fixup *
1.7.0.txt: * "git rebase -i" learned new action "fixup" that squashes the change
1.7.0.txt- but does not affect existing log message.
--
1.7.0.txt: * "git rebase -i" also learned --autosquash option that is useful
1.7.0.txt: together with the new "fixup" action.
1.7.0.txt-
--
1.7.3.txt: * "git rebase -i" peeks into rebase.autosquash configuration and acts as
1.7.3.txt: if you gave --autosquash from the command line.
1.7.3.txt-
--
1.7.4.txt: * "git commit" learned --fixup and --squash options to help later invocation
1.7.4.txt- of the interactive rebase.
--
1.7.4.txt: * "git rebase --autosquash" can use SHA-1 object names to name which
1.7.4.txt: commit to fix up (e.g. "fixup! e83c5163").
1.7.4.txt-

关于git: squash/fixup 更早的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/204461/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com