3 из нас работают над проектом Django, используя git.
У меня больше опыта, чем у других 2, поэтому все изменения приходят ко мне прежде, чем они перейдут в "master".
Мы все работаем с Windows, и мы не работаем с дисковыми ресурсами, поэтому у всех нас есть отдельные репозитории "origin" в наших индивидуальных учетных записях на linux box. Они служат для того, чтобы мы могли делиться своими изменениями друг с другом, а также как «резервная» резервная копия наших репозиториев.
Один из двух других людей создает ветку, назовем ее BugA, и они исправляют ошибки. Затем они переносят его со своей рабочей машины на машину с Linux, к которой у всех нас есть доступ, чтобы я мог просмотреть изменения и объединить их с «мастером» в моей учетной записи (который считается копией кода, отправляемого в производство).
Как только они закончат BugA, они начнут BugB с новой ветки. Когда я проверяю их работу, я обнаруживаю некоторые проблемы (лишний код, отсутствующие комментарии и т. Д.). Поэтому я внесу изменения в их код, протестирую его и передам мастеру.
Затем они присылают мне исправления для BugB, и я получаю всевозможные конфликты с их изменениями. Эти конфликты находятся в строках кода, который я изменил в их коммите.
Когда они пытаются слиться со мной, они также сообщают о конфликтах с их стороны.
Когда я пишу это, я думаю, что начинаю понимать, что может быть не так. Я объединяю их код с моим мастером, вносю правки и фиксирую. Мне действительно нужно вносить изменения в мою их ветку в моем репо, отодвигая их назад, чтобы они слились с ними, а затем объединяя их с моим хозяином.
Что я не уверен, так это что с этим делать. Как только они сливаются со своей веткой из моего репо, тогда они должны слиться с моим хозяином? 2 слияния вместо 1?
Из-за того, что у нас есть linux-репозиторий с внешним размещением, что означает удвоение толчков, удвоение слияний и т. Д ....
Неужели так и должно быть?