如何修复未推送的合并提交 (git)?
How do I fix an unpushed merge commit(git)?
我(也)经常合并有重大冲突的分支,我从我的 IDE 开始这样做,这对解决这些问题很有帮助,一旦完成,我最终得到的合并结果已经在本地提交了我在此过程中所做的任何手动调整。通常我喜欢这种行为,但我总是在推送之前做一些冒烟测试。当这失败时,我需要修复一些东西,通常是一些愚蠢的东西,比如 add/remove 一个逗号,这是我在解决合并冲突时应该做的事情。
目前我只是在上面添加了一个额外的提交。我想回到与当前所有代码合并时的状态,进行更改并再次完成合并。
我不想撤消整个合并并再次手动检查所有冲突。
完成合并后看到 "oh, something more needs to be changed",只需使用 git add <your additional changed file> && git commit --amend -C HEAD
。这会将您的更改添加到 HEAD 指向的提交,如果您在合并后没有做任何事情,这应该是您的合并提交。如果您已经为此更改添加了一个额外的提交,您还可以使用 git rebase --interactive
将这两个提交合并为一个。
我(也)经常合并有重大冲突的分支,我从我的 IDE 开始这样做,这对解决这些问题很有帮助,一旦完成,我最终得到的合并结果已经在本地提交了我在此过程中所做的任何手动调整。通常我喜欢这种行为,但我总是在推送之前做一些冒烟测试。当这失败时,我需要修复一些东西,通常是一些愚蠢的东西,比如 add/remove 一个逗号,这是我在解决合并冲突时应该做的事情。 目前我只是在上面添加了一个额外的提交。我想回到与当前所有代码合并时的状态,进行更改并再次完成合并。 我不想撤消整个合并并再次手动检查所有冲突。
完成合并后看到 "oh, something more needs to be changed",只需使用 git add <your additional changed file> && git commit --amend -C HEAD
。这会将您的更改添加到 HEAD 指向的提交,如果您在合并后没有做任何事情,这应该是您的合并提交。如果您已经为此更改添加了一个额外的提交,您还可以使用 git rebase --interactive
将这两个提交合并为一个。