Я уже прошел следующие вопросы:
- Git конфликты слияния для файлов, которые изменяются только одной веткой
- Как избежатьполучать ошибки / конфликты в git на нетронутых файлах?
- конфликты слияния в git при отсутствии изменений
Но я не нашел разумного объяснения.Так что пытаюсь открыть новую ветку.
Проблема : Когда я объединяю 'master' с моей веткой разработчика (dev-branch), я получаю конфликты слияния с файлами, которые НЕ были изменены мной на dev-branch.
Процедура :
- мастер проверки git
- git pull --ff-only (Обновите ветку master до последних изменений)
- git checkout dev-branch
- git merge --squash master
- приводит к конфликтам файлов, которые не были изменены мной
Вопросы :
- Почему я вижу конфликты?
- Почему GIT не может разрешить их автоматически, поскольку в моей ветке нет изменений?
- Что я могу сделать, чтобы избежать этих конфликтов?
=== РЕДАКТИРОВАТЬ: 12 июня 2019 г.===
Я начал наблюдать за своим поведением слияния, чтобы сузить проблему и обнаружил следующее.Всякий раз, когда я занимаюсь разработкой чего-то, что занимает много времени, я склонен часто обновлять свою ветку разработки, чтобы избежать необходимости делать единственное крупное объединение.
Если я работал над веткой, скажем, dev_branch , я использовал для слияния master с dev_branch и продолжил свое развитие, и повторите этошагать время от времени.Но что я нашел полезным, так это на самом деле объединить dev_branch с master и снова перейти из него в новую ветку разработки dev_branch_1 (обратите внимание, что я ничего не совершаюна master еще, так как разработка не завершена) и продолжить разработку на новой ветке.Мне кажется, до сих пор это работает, чтобы избежать этих неприятных конфликтов слияния.