gpt4 book ai didi

git - 运行 'git-add' 后发出的正确 'git-mergetool' 命令是什么?

转载 作者:太空狗 更新时间:2023-10-29 14:48:01 25 4
gpt4 key购买 nike

我不清楚完成导致冲突的 merge 所需的 Git 命令的正确顺序。我知道一种方法是遵循被拒绝的 merge ,比如

git mergetool
# Then once everything has been fixed
git add ??
git commit -m "Some message"

但我不清楚 git-add 命令究竟应该包含什么,以确保只有我最初为被拒绝的 merge 暂存的文件最终被提交,并且只有这些文件已提交。

最佳答案

git-mergetool通常会在冲突解决后自动暂存文件。您不需要手动运行 git-add .

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

一些 mergetools 可能不会返回正确的退出代码(如果 merge “成功”则为 0),因此 git 还提供了一个配置选项 mergetool.<tool>.trustExitCode万一这不应该被信任。如果设置为 false ,那么 git 会一直询问你 merge 是否成功。

总结:

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

在实践中,我建议使用 git 现在本地支持的 merge 实用程序之一。您可以获得这些列表 here .如果您使用这些工具之一,除了配置 git 以使用它之外,您不需要任何其他设置,例如:

git config --global merge.tool p4merge

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

关于git - 运行 'git-add' 后发出的正确 'git-mergetool' 命令是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14573656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com