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流程,如果没有,我们还能做些什么来提高流程效率?
如果您发现自己正在解决相同的冲突,请尝试并激活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)