Как избежать конфликтов в git?

Есть основной репозиторий с одном файлом.
Этот репозиторий форкают несколько разработчиков и начинают вносить изменения в свои копии.
После присылают свои пуллреквесты в основной репозиторий.
Но с момента, когда один присылает пулл реквест, кто-то другой уже успел внести изменения в этот файл в основном репозитории.
И из-за этого возникает конфликт.
Не хочется каждый раз решать его вручную.
Посоветуйте, как решить проблему?
(файл разбить на несколько нельзя)

5e189234e1f4c309427674.png
  • Вопрос задан
  • 286 просмотров
Решения вопроса 1
Не ты должен решать, разработчик перед тем как сделать пул реквест должен сделать в своей ветке
git fetch
git rebase origin/master

и после этого решить все конфликты а только потом
git push
Единственный выход для минимизации конфликтов - бить файл на кусочки.

Если человек работает в форке, то ему нужно сначала стянуть изменения себе в мастер с основного репозитория
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Robur
@Robur
Знаю больше чем это необходимо
Если вам прислали пулреквест с конфликтом - отправляете его обратно, разработчик должен переделать его.
Если конфликты сыпятся постоянно - это повод пересмотреть работу, либо пулл реквесты сильно большие, либо код перемешан в лапшу так что каждое изменение затрагивает много участков, либо задачи такие что разработчики делают изменения в одном и том же месте.
Это надо выяснить и исправить.
Ответ написан
firedragon
@firedragon
Senior .NET developer
Покажите файл. Хотя, в общем то, стоит как то организовывать работу. Например указать разработчикам что бы работали над одной атомарной единицей за раз.

Например вносили изменения только в 1 функцию.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы