gpt4 book ai didi

Git 说自动 merge 失败但是当我检查文件或运行 mergetool 时没有冲突他们被正确解决

转载 作者:太空狗 更新时间:2023-10-29 13:26:48 33 4
gpt4 key购买 nike

如描述中所述。我什至不希望在自动解决 merge 冲突时提示解决 merge 冲突。

我的场景是,我在一个分支上的文本文件中添加一行包含固定文本字符串的行,在同一分支上做一些其他提交,然后在另一个分支上挑选添加固定文本的更改,然后执行与其他分支 merge 。

我这样做是为了测试,因为在我的日常工作中我经常遇到冲突,但是当我使用我的 merge 工具时它说没有冲突所以我只是关闭它并手动提交。

问题是我被提示执行额外的步骤,而实际上 git 已经正确地 merge 了更改。 (我什至手动检查了文件,以确保不是我的 merge 工具在解决问题,实际上冲突已经在文件中解决了)。

我尝试对 git merge 使用“--commit”参数,但没有效果。

git 似乎无法根据消息自动 merge 更改,但实际上它实际上正确地 merge 了文件。

有没有一种方法可以自动 merge 这些类型的冲突并继续进行而无需人工干预?

我使用的是 git 版本 1.7.10.msysgit.1

最佳答案

这可能无法回答您的问题,但如果您知道要 merge 的内容,则可以根据要 merge 的内容,通过给它一个策略(和选项)。非快进 merge 通常由递归策略完成,这很好,但你也可以给它一个选项。

如果你 merge 使用

$ git merge branchB --strategy=recursive -Xours

然后,您通常会遇到的所有冲突都会自动通过您的台词解决。这可能适用于你的情况,当你知道你不应该发生冲突,但无论如何都会发生冲突。就像我说的,这会自动解决与您的版本的冲突,因此只有在您事先知道您的版本是需要的时候才使用它。

ignore-all-space 是一个更安全的选项,它可以自动修复与空格相关的任何冲突。所以:

$ git merge branchB --strategy=recursive -Xignore-all-space

我推荐这个,因为它很安全,它可能对你的情况有帮助,而且它可以避免很多待 merge 文件将整个内容拆分为本地和远程的情况,这样可以解决冲突很难。

关于Git 说自动 merge 失败但是当我检查文件或运行 mergetool 时没有冲突他们被正确解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11191984/

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