различайте, какие файлы имели конфликты слияния при фиксации

#git #version-control #merge

#git #контроль версий #слияние

Вопрос:

У меня есть master ветка, и я отделился от feature-x ветки. master Ветка получила несколько исправлений ошибок в нескольких файлах. feature-x Ветка создала несколько файлов и затронула только один файл, общий с master веткой. Когда я должен обновлять feature-x ветку со всеми исправлениями ошибок, я объединяюсь в master ветке. Из-за изменения этого одного общего файла я получаю конфликт слияния в этом файле. Я исправляю конфликты в файле, и на этом этапе все следующие файлы автоматически создаются git:

  • Все файлы, которые были исправлены в master
  • Все новые файлы, созданные в feature-x

Затем я должен создать свой обновленный общий файл и зафиксировать, чтобы завершить / разрешить слияние.

Если я посмотрю на фиксацию слияния на GitHub / BitBucket, похоже, что были затронуты тонны файлов, и нет способа определить, какие из них имели и не имели конфликтов слияния.

Это просто природа зверя? Или есть лучший способ сделать это, чтобы иметь возможность определять в фиксации, какие файлы были объединены автоматически, а какие из них должны были иметь ручную помощь?

В моем проекте я, кажется, иногда получаю немного от слияния ветвей и не могу точно определить в коммит слияния, где что-то пошло не так.

Ответ №1:

Вы должны иметь возможность перебазировать свою функциональную ветку поверх Master, а затем объединить изменения. Это приведет к внесению всех изменений / исправлений ошибок на master в вашу ветку, а затем воспроизведет все коммиты поверх них. Вы все равно получите конфликт слияния в одном файле, который оба изменили, поэтому вам просто нужно разрешить этот конфликт, а затем вы можете нажать.

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

Комментарии:

1. спасибо, Кейф, я только что прочитал git pull --rebase , и я думаю, что это то, что я хочу.