Git не обнаруживает конфликт в файле при изменении - PullRequest
0 голосов
/ 20 сентября 2018

Я вытащил из удаленной ветви, и там был файл с этой строкой кода:

$productAttributes = $product->ctAttributes;

В моем локальном файле такая же строка кода выглядит следующим образом:

$productAttributes = $product->getAttributesAsString();

То, что я сделал, было просто pull --rebase origin dev.pull объединил эти изменения, не обнаружив конфликта между моим локальным и удаленным файлом.Он просто выбрал удаленный.Почему это происходит ?Таким образом (без показа конфликтов) мы иногда теряем много кода.Где мой плохой?

1 Ответ

0 голосов
/ 20 сентября 2018

Конфликт не означает, что две строки кода не совпадают.Конфликт означает, что два изменения несовместимы.


Предположим, что в origin/master есть следующий код:

var testValue = "A";

I pull вниз самая последняя копия в моем локальном master, и оба показывают эту строку.

Если сотрудник вносит следующее изменение и push присваивает ему значение origin/master:

var testValue = "B";

Теперь моя локальная копия отличается, имы находимся в той же ситуации, что вы описали.


Если я pull последний код, он просто обновится автоматически без какого-либо конфликта.Почему?

Git пытается применить изменение var testValue = "A"; -> var testValue = "B";.С текущим состоянием моего локального филиала это изменение все еще имеет смысл, поэтому оно применяется.


Предположим, я внесу это изменение до pull последнего кода:

var testValue = "C";

Теперь, когда я pull последний код, Git пытается применить изменение var testValue = "A"; -> var testValue = "B"; - но это больше не имеет смысла, так как мой локальный код не var testValue = "A"; = CONFLICT


Это намного больше, но я думаю, что это можно выразить следующим образом:

Git пытается применить изменение из определенного начального состояния в конкретное конечное состояние - там будетконфликт, если текущее состояние не соответствует указанному начальному состоянию, в противном случае изменение будет применено

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...