首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在运行'git-mergetool‘之后,正确的'git-add’命令是什么?

在运行'git-mergetool‘之后,正确的'git-add’命令是什么?
EN

Stack Overflow用户
提问于 2013-01-29 08:19:53
回答 1查看 486关注 0票数 2

我不清楚完成导致冲突的合并所需的Git命令的正确顺序。我知道一种方法是在被拒绝的合并之后使用类似这样的东西

代码语言:javascript
运行
复制
git mergetool
# Then once everything has been fixed
git add ??
git commit -m "Some message"

但是我不清楚git-add命令到底应该由什么组成,以确保最终只提交我最初为被拒绝的合并暂存的文件,并且只提交这些文件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-29 14:04:04

冲突解决后,git-mergetool通常会自动转移文件。您不需要手动运行git-add

但是,为了使用各种工具,git-mergetool将尝试通过检查修改日期来验证文件是否已更新(请参阅check_unchanged())。如果文件已经被修改,那么它将检查来自mergetool的返回码。

一些mergetools可能不会返回正确的退出代码(如果合并‘成功’,则返回0),因此git还提供了一个配置选项mergetool.<tool>.trustExitCode,以防这不应该被信任。如果将其设置为false,则git将始终询问您合并是否成功。

总而言之:

  1. 您的合并工具应该在合并后将文件保存到磁盘,即使没有必要进行更改(这应该是不可能的,因为它不会是一个合并冲突)。
  2. 如果您不信任合并工具的退出代码,则可以将trustExitCode选项设置为false。

在实践中,我建议使用git现在本地支持的合并实用程序之一。您可以获得这些here的列表。如果你使用这些工具中的一个,你应该不需要任何额外的设置就可以配置git来使用它,例如:

代码语言:javascript
运行
复制
git config --global merge.tool p4merge

注意:你可能会在网上找到很多关于这些工具设置的过时文章。例如,我最喜欢的mergetool,p4merge,一开始并不是git原生支持的,需要一些手动配置。对于最新版本的git,这不再是必需的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14573656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档