gpt4 book ai didi

git - 为什么git认为这是cherry pick之后的冲突?

转载 作者:行者123 更新时间:2023-12-04 18:02:26 24 4
gpt4 key购买 nike

我在 Windows 上使用 TortoiseGit,我有 2 个分支。但是当我从另一个分支挑选提交时,我经常会收到“冲突”报告。但是当我试图解决这些“冲突”时,很多时候我很困惑和愤怒(如下图的情况),这怎么会是冲突呢?一个文件没有任何内容,而另一个文件有一些新行,这再简单不过了。为什么 git 将此视为冲突?谁能解释一下?谢谢..

why this was marked 'conflict' by git?

最佳答案

我已经重现了一个案例,在这个案例中,在明显的无对立的非冲突背后存在真正的冲突。

基础提交:

foo
bar
baz

master 上的下一次提交删除了 baz

foo
baz

在另一个分支上的下一次提交在同一位置添加了一些东西

foo
spam
bar
baz

当我尝试将分支 merge 到 master 时,我遇到了这个冲突:

foo         
<<<<<<< HEAD
=======
spam
bar
>>>>>>> plus
baz

显然是误报,master 上什么都没有,在另一个分支上添加了一些东西。

但实际上,警报不是假的,但 Git 放入文件中的信息肯定是假的:它列出了 bar , 在 master 上删除,在另一个分支上添加。

所以 Git 是有问题的,但以一种非常微妙和令人惊讶的方式。他们显然试图将一些信息放入 >>>>>>>=======<<<<<<<符号,但删除-添加冲突不适合它,因为它需要有关 merge 基础的附加信息。或者以任何其他方式区分“由他们添加”和“由他们保留”。

关于git - 为什么git认为这是cherry pick之后的冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32857992/

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