繁体   English   中英

如何“修复” git rerere分辨率

[英]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 $1}' | tail -n +7 | head -n -1`; do
    git checkout -m $F
    git rerere forget $F
    cp $FIXED/$F ./$F
done

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

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

我的工作流程通常包括:

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

这给了我多个本地提交,它们共同构成了需要完成的工作。 当我感觉完之后,我跑步:

git rebase -i HEAD~[nr_of_commits_i_created]

而且我确保修复所有问题,除了第一个。 第一个我要么保持原状,要么最后一次改写。 现在,我完成了1次提交,其中包含我的所有更改。 我以我的master分支为基础,解决所有冲突并推动我的更改。

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

我意识到这并不能直接回答您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM