При каких обстоятельствах git merge может отменить изменение в файле? - PullRequest
0 голосов
/ 29 мая 2018
  • В своей истории коммитов я вижу, что сделал коммит, где я добавил несколько строк в файл Masterlist / Index.cshtml.
  • Никто другой не редактировал файл с тех пор и 3 месяца назад.
  • После фиксации произошли некоторые слияния с конфликтами, которые были разрешены, и после этого произошло слияние без конфликтов, при котором эти строки из файла были удалены.
  • В истории файлов нет изменений, кромеодин 3 месяца ...

Фиксация, где я добавил строки: enter image description here

Слияние, которое удалило его: enter image description here

git log --graph --full-history -- ABC/Views/Masterlist/Index.cshtml произвел это: enter image description here

git log -S"-webkit-transform: translateY(-100%) rotate(90deg); /* Safari */" -c произвел это: enter image description here

Мои вопросы:

  1. Как возможно, что добавленные строки были стерты?Что может пойти не так?
  2. Как предотвратить это?
  3. Почему в истории файлов нет записей?

Мы используем дерево исходного кода или Visual studioпри работе с git.

1 Ответ

0 голосов
/ 29 мая 2018

Похоже, неправильное слияние - 4246a2, которому не удалось получить изменение от 2f3f2a.

Я очень уверен (доверяю списку конфликтующих файлов в сообщении фиксации и оставляю 1%для некоторых обнаружение переименования сошло с ума, хотя я не понимаю, как это могло бы произойти без удаления файла), что если вы посмотрите 3505b4 commit и merge 2f3f2a, воспроизводящий слияние с конфликтом, у вас будет файл ABC/Views/Masterlist/Index.cshtml безошибочно подготовлено к внесению изменений без конфликта.

Если это подтвердится, в разрешении конфликта что-то должно было пойти не так.Я думаю, что вы должны вернуться к процессу разрешения конфликта с этим человеком.Я могу представить себе 2 варианта, почему это произошло:

  1. Инструмент / процесс, который разрешил конфликт, сделал что-то не так.

  2. Разработчик, который выполнил4246a2 объединить, использовать -sours, вручную внести изменения другого родителя и каким-то образом пропустить изменения этого файла.

...