代码之家  ›  专栏  ›  技术社区  ›  Toma Tomov

Git在文件发生更改时不会检测到冲突

git
  •  0
  • Toma Tomov  · 技术社区  · 7 年前

    我从远程分支提取了一个文件,里面有一行代码:

    $productAttributes = $product->ctAttributes;
    

    在我的本地文件中,同一行代码如下所示:

    $productAttributes = $product->getAttributesAsString();
    

    我所做的只是 pull --rebase origin dev pull 合并此更改而未检测到本地文件和远程文件之间的冲突。它只是选择了一个遥控器。为什么会这样?这种方式 (没有显示冲突)我们有时会丢失很多代码。我的错在哪里?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Vlad274    7 年前

    冲突并不意味着两行代码不匹配。冲突意味着两个更改不兼容。


    假设中有以下代码 origin/master :

    var testValue = "A";
    

    pull 把最新的副本发给我的本地人 master ,都显示这条线。

    如果同事做出以下改变 push 把它交给 原点/主 :

    var testValue = "B";
    

    现在我的本地副本不同了,我们的情况和你描述的一样。


    Git正在尝试应用更改 var testValue = "A"; -&燃气轮机; var testValue = "B"; . 在我的本地分支的当前状态下,这个更改仍然是有意义的,所以它被应用了。


    假设我以前做过这个改变 输入最新代码:

    var testValue = "C";
    

    现在当我 在最新的代码中,Git尝试应用更改 -&燃气轮机; var testValue=“B”; -但这已经没有意义了,因为我的本地代码不是 var testValue=“A”;


    Git试图将一个更改从特定的开始状态应用到 特定结束状态-如果当前状态 应用