如何"fixup"git重新解析

How to "fixup" git rerere resolution

我的工作流程通常包括 merge -> resolve conflicts -> commit -> debug during compilation -> fixup commit。通过这种方式,我之后将脏合并与清理合并。如果我启用 rerere,我将始终记录脏分辨率。如何绕过这个问题?有没有办法通过提交来修复 rerere 分辨率?

这很笨拙,但我为上次大的错误合并做了什么。

起初我在 tmp 分支中检查我的分支到合并状态之前。 然后运行类似合并。然后执行以下过程:

for F in `git show $FIXCOMMIT --stat | awk '{print }' | tail -n +7 | head -n -1`; do
    git checkout -m $F
    git rerere forget $F
    cp $FIXED/$F ./$F
done

其中 FIXCOMMIT 提交修复。 FIXED 是具有 FIXCOMMIT 状态的工作树。

作为一个教训,我认为不应该在编译前提交合并。

我的工作流程通常包括:

Make changes -> test -> commit -> make more changes -> test -> commit -> repeat.

这给了我多个本地提交,它们共同构成了需要完成的工作。当我觉得完成时,我 运行:

git rebase -i HEAD~[nr_of_commits_i_created]

而且我确保修复除第一个以外的所有问题。第一个我要么保持原样,要么最后一次改写。现在我最终得到包含我所有更改的 1 个提交。我基于我的 master 分支,解决任何冲突并推送我的更改。

这样我就再也不用处理合并了。

我知道这并不能直接回答您的问题。