我不清楚完成导致冲突的合并所需的正确Git命令序列。我理解一种方法是使用类似
之类的方法来遵循被拒绝的合并git mergetool
# Then once everything has been fixed
git add ??
git commit -m "Some message"
但是我不清楚git-add
命令应该包含什么,以确保最终只提交我最初为被拒绝的合并暂存的文件,并且只提交那些文件。
答案 0 :(得分:3)
git-mergetool
通常会在解决冲突后自动暂存文件。您无需手动运行git-add
。
但是,为了使用各种工具,git-mergetool
将尝试通过检查修改日期来验证文件是否已更新(请参阅check_unchanged())。如果文件已被修改,那么它将检查mergetool的返回码。
某些mergetools可能无法返回正确的退出代码(如果合并'成功',则为0),因此git还提供配置选项mergetool.<tool>.trustExitCode
,以防不应该信任。如果将其设置为false
,则git将始终询问合并是否成功。
总结:
trustExitCode
选项设置为false。在实践中,我建议使用git现在支持的其中一个合并实用程序。您可以获取这些here的列表。如果您使用这些工具之一,除了配置git以使用它之外,您不需要任何其他设置,例如:
git config --global merge.tool p4merge
注意:您可能会在网上找到很多关于这些工具设置的过时文章。例如,我最喜欢的mergetool p4merge首先不是由git本身支持的,并且需要一些手动配置。最近版本的git不再需要这样做。