这是有效的git工作流程,可以避免自动合并吗?

时间:2018-09-03 19:38:38

标签: git git-merge

git merge other_branch -s ours --no-commit --no-ff
git difftool other_branch
*manually merge all relevant files*
git add .
git commit -m "merged with other_branch"

这是我可以绝对避免任何自动合并并手动执行所有操作的合并工作流程吗?

此合并是否会在回购记录中正确注册为合并?

1 个答案:

答案 0 :(得分:1)

通过将.gitattributes文件放入并提交具有以下内容的工作目录的根目录,可以绝对避免任何自动合并:

* -merge

这将使合并过程中的“本地”版本保持不变,但是当在两侧更改文件时,它将标记为冲突文件。然后,您将不得不自行解决每个冲突-无需git猜测。

请参见gitattributes Documentation部分“执行三路合并”。

然后,您可以照常使用自己喜欢的合并工具,但是请记住,某些合并工具会自行静默解决“原始”冲突。然后,您只需简单地将问题进一步推进-git将不再解决原始冲突,但是mergetool会解决。在您的mergetool中寻找一个选项来避免这种情况。例如,如果使用的是KDiff3,则可以转到选项“集成”选项卡,然后将“-自动”添加到“忽略的命令行选项”选项。