Мне кажется, ты слишком обдумываешь это.Что произойдет, если вы вообще ничего не сделаете для координации?То есть, предположим, что у вас есть все, кто клонирует репо, отредактирует файл и отправит свой результат, не беспокоясь о том, что делает кто-то еще ...
Кто-то "просто случится" толкнуть первым.Этот толчок пройдет.Следующий человек получит сообщение о том, что он не в курсе.Таким образом, они будут тянуть, разрешать простой конфликт (если есть конфликт, который может или не может быть), толкать и делать.
Наихудший случай - это то, что несколько человек разрешают конфликты одновременно, и поэтому все, кроме одного, должны будут повторно разрешить конфликт;что, конечно, может раздражать, если все пытаются завершить это одновременно.Но при условии, что у вас есть разумное временное окно, в которое это произойдет, вполне вероятно, что это не будет большой проблемой.И на самом деле это более или менее важно для git - большое количество людей может работать над одним и тем же файлом (файлами) одновременно без надуманной координации.
Теперь некоторые люди утверждают, что итоговая история такова:по их мнению, «грязный», потому что всякий раз, когда кому-то приходится тянуть, а затем нажимать, создается коммит слияния.В худшем случае это все равно не хуже, чем то, на что бы выглядело, если бы все добавили свое имя в отдельную ветку.И даже этого можно избежать (например, используя 'get pull --rebase' при запросе pull перед нажатием).