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

问题描述 投票:1回答:1
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"

这是一个可接受的合并工作流程,我想绝对避免任何自动合并并手动完成所有操作吗?

这个合并是否会在repo的历史中正确注册为合并?

git git-merge
1个回答
1
投票

您可以通过在工作目录的根目录中放置和提交.gitattributes文件来完全避免任何自动合并,其中包含以下内容:

* -merge

这将在合并期间保持“本地”版本不变,但是当双方更改文件时,它会将文件标记为冲突。然后你必须自己解决每一个冲突 - 不要用git猜测。

请参阅gitattributes Documentation部分“执行三向合并”。

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

© www.soinside.com 2019 - 2024. All rights reserved.