Работа с «git revert» и конфликтами.Как это происходит? - PullRequest
0 голосов
/ 01 октября 2018

Я пишу текстовый файл, его имя "f2.txt".Я сделал коммит для каждой строки файла.Его содержимое будет:

l1
l2
l3
l4

Другими словами, он имеет четыре коммита.

Каждый коммит для каждой строки.

Итак, я попытался отменить коммит.Я получаю конфликт.Даже несмотря на то, что я думал, что поступая так, я не получу никакого конфликта, потому что это коммит для каждой строки.(Не та же строка)

Но да, у меня возникает конфликт, даже если я делаю что-то простое.

Что здесь происходит?

Почему я получаю конфликт (ы)?

Спасибо.

1 Ответ

0 голосов
/ 01 октября 2018

Полагаю, вы пытались отменить коммит, который был не последним.

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

У вас есть 4 коммита:

  • Добавить l1 - новая строка в пустой файл
  • Добавить l2 - после l1 и до конца файла
  • Добавить l3 - после l2 и до конца файла
  • Добавить l4- после l3 и до конца файла

Теперь вы пытаетесь отменить 3-й коммит.Git не уверен, что делать, он может видеть l2, который был раньше, но он ожидает конца файла, и вместо этого у вас есть l4.

Это, очевидно, немного сложнее, чем это.Команда исправления достаточно умна, чтобы обнаруживать линии, которые сдвинулись и т. Д., Но это в основном так.

Обновление

Я не вижу другого решения, кромеразрешать конфликты вручную.

О слияниях и конфликтах можно прочитать в git-tower

...