Git rebase добавление одного коммита создало конфликты в файлах, не связанных с коммитом? - PullRequest
0 голосов
/ 01 мая 2020

У меня была git история, подобная этой:

   master         feature
     v               v  
o----o-----o----o----o

Я извлек мастер, затем изменил и передал file.txt, который существовал в обеих ветках:

git checkout master
...altered file
git add file.txt
git commit -m "altered file.txt"

Итак, моя история выглядела так:

       master         
         v                 
o----o---o     feature
      \          v
       o----o----o

Затем я перенес функцию на мастер:

git checkout feature
git rebase master 

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

Пример сообщения об ошибке:

Falling back to patching base and 3-way merge...
error: The following untracked working tree files would be overwritten by merge:
    path/to/DifferentFile.php
Please move or remove them before you merge.
Aborting
error: Failed to merge in the changes.
Patch failed at ab12 my commit message
hint: Use 'git am --show-current-patch' to see the failed patch

Что здесь произошло? Разве перебазирование просто не проигрывает все ваши коммиты на новом конце базовой ветви? Если ветки ранее были в одной линейной истории, как добавление одного файла и перебазирование могли создать конфликты слияния с несвязанными файлами?

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