如何" fixup" git rerere resolution

时间:2018-03-29 05:20:23

标签: git git-rerere

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

2 个答案:

答案 0 :(得分:0)

这很笨拙,但是我为最后一次糟糕的合并做了什么。

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

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

FIXCOMMIT提交修复程序的地方。并且FIXED正在与FIXCOMMIT州合作。

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

答案 1 :(得分:0)

我的工作流程通常包括:

  

进行更改 - >测试 - >提交 - >进行更多更改 - >测试 - >提交 - >重复。

这为我提供了多个本地提交,这些提交共同构成了需要完成的任务。当我感觉完成后,我跑了:

git rebase -i HEAD~[nr_of_commits_i_created]

我确保除了第一个之外的其他所有内容。第一个我保持原样,或者最后一次改写它。现在我最终得到了一个包含我所有更改的提交。我在我的主分支上重新定义,解决任何冲突并推动我的改变。

这样我就不必真正处理合并了。

我意识到这并没有直接回答你的问题。