git: автоматическое слияние против нормального (не конфликтующего) слияния? - PullRequest
0 голосов
/ 22 мая 2018

Я на master.

Выполнение:

git merge feature_branch

Вот несколько ориентировочных выводов:

   Auto-merging src/myproject/web/api/submodule/__init__.py
   Merge made by the 'recursive' strategy.
    src/myproject/application/cli.py                            |    4 +
    src/myproject/foo/__init__.py                             | 1167 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    src/myproject/foo/auditors.py                             |  256 +++++++++++++++++++++++++++++++
    src/myproject/foo/handlers.py                             |  247 ++++++++++++++++++++++++++++++
    src/myproject/web/api/submodule/__init__.py              |   16 +-

Почему только для первого файла упомянуто действие «Автослияние»?

(что не относится к другим файлам)

Что в нем (может быть) такого особенного?

1 Ответ

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

Если файл изменяется только в одной из двух ветвей, участвующих в слиянии, то это не будет упомянуто.Для этого файла слияние не требуется, автоматическое или ручное.

Если файл был изменен в обеих ветвях, то сначала будет предпринята попытка автоматического слияния.Обычно это успешно выполняется в следующих двух случаях:

  • Изменения заключаются в том, чтобы полностью разделить строки, причем неизмененные строки между строкой, измененной в одной ветви, и строкой, измененной в другой ветви.
  • Изменения дают абсолютно одинаковый конечный результат, например, в обеих ветвях появляется один и тот же коммит.

Если это не так, то автоматическое слияние завершится неудачно, и Git прибегнет кпросит ручного слияния.

...