Как я могу получить список конфликтующих файлов при слиянии коммитов (после факта) - PullRequest
2 голосов
/ 26 октября 2019

Я пытаюсь найти версии слияния для проектов, которые имели конфликты в прошлом. Есть ли более простой способ сделать это, чем повторить слияние вручную? Потому что я не смог найти способ сделать git show список только тех файлов, где были конфликты (если есть).

1 Ответ

3 голосов
/ 27 октября 2019

Это вообще невозможно.

Единственный надежный способ - повторить слияние, и даже в этом случае вы должны знать несколько вещей, которые невозможно узнать из самого хранилища. В частности, вы должны знать:

  • аргумент -X find-renames, если был такой аргумент
  • , был ли -X ours или -X theirs предоставлен
  • аргумент -s, если такой аргумент был

Поскольку большинство слияний не используют эти аргументы, вы можете довольно близко подобраться, повторив слияние, иэто намного проще, чем любая альтернатива. (Если у вас есть git worktree add или вы хотите сделать клон, его легко автоматизировать.)

(Было бы хорошо, если бы git merge спрятал эти аргументы слияния как комментарий в строке заголовка слиянияcommit. Git должен был бы сохранить их в файле для слияний, которые останавливаются в середине, но это, очевидно, возможно.)

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