git pull --rebase origin master每次都会从一开始就重新定义

Wei*_*hen 8 git version-control git-pull git-rebase git-flow

我们经常从master分支到大型功能分支.这些功能分支通常在与master合并之前工作数天甚至数周(尽管最佳实践要求我们需要尽可能频繁地合并,实际上它可能会有所不同).

因此,我们尽可能地尝试git pull --rebase origin master以便与master保持更新.但是,我们偶尔会遇到以下情况:

1)从master分支到分支feature/new-branch

2)进行更改feature/new-branch并提交更改.

3)git pull --rebase origin master把提交放在主人的头上.修复任何冲突和git add .+git rebase --continue

4)进行更多更改feature/new-branch并提交更改.

5)git pull --rebase origin master再次.

但是,在步骤5),该过程要求我们从步骤3)修复相同的冲突.哪个可能很乏味.

这是正确的最佳实践git流程,如果没有,我们还能做些什么来提高流程效率?

Von*_*onC 2

如果您发现自己正在解决相同的冲突,请尝试并激活git rerere(“重新使用记录重新解决方案”)。

git config --global rerere.enabled true
Run Code Online (Sandbox Code Playgroud)

这将为您记录那些冲突的解决情况。

更多信息请参阅Christophe Porteneuve的“使用 git rerere 仅修复一次冲突

如果您更喜欢 rerere 来自动暂存它解决的文件(我愿意),您可以要求它:您只需要像这样调整您的配置:

git config --global rerere.autoupdate true
Run Code Online (Sandbox Code Playgroud)