Git использует ревизионную прогулку для согласования общего набора коммитов с обеих сторон. Так что если во время pu sh клиентская сторона знает, что такое ветвь master
сервера, то она сможет исключить отправку всего, что оно содержит, включая старую версию ветки local-dev
.
Используемый рабочий процесс не обязательно неэффективен для толчков, но повторяющиеся перекрестные слияния между master
и ветвью local-dev
делают git log --topo-order
очень медленным. Таким образом, хотя это не может быть проблемой для неопытных пользователей Git, это сделает опытных пользователей немного несчастными, поскольку вызывает некоторую медлительность в продвинутых операциях. Он также создает неопрятную историю, к которой некоторые люди относятся очень сильно.
Кроме того, этот рабочий процесс предотвращает одновременное использование нескольких веток. Разработчику, возможно, придется подождать, чтобы объединить ветку, потому что эксперт по теме находится в отпуске и не может дать рецензию, а создание новой ветки позволило бы работать над другой частью работы в ожидании этой рецензии.
Типичный рабочий процесс заключается в создании новой ветки с уникальным именем для рассматриваемой функции или исправления ошибки, внесении изменений и внесении изменений. Локальная ветвь может быть отброшена, когда ветвь сервера объединена (или сохранена, если человек предпочитает).
Таким образом, в конечном итоге ответ заключается в том, что это не типичный рабочий процесс, и он вызывает несколько практических проблем, но это не так. не очень проблематично c. Обучить своих пользователей не составит проблемы, но вам решать, считаете ли вы, что это достаточно важно для обеспечения соблюдения политики.