Перебазировка задних коммитов если только на личную ветку - PullRequest
4 голосов
/ 30 мая 2011

Я использую несколько машин для своей разработки, поэтому хочу способ «самостоятельной работы».Так что личная ветка в удаленном хранилище имеет смыслОчевидно, что для этой ветви я бы много толкал / тянул (то есть каждый раз, когда я запускаю / заканчиваю сеанс кодирования на конкретной машине).Я также люблю местный перебаз, чтобы раздавить / привести в порядок некоторые из моих коммитов.Я понимаю, что вы не должны перебазировать коммиты, которые были перенесены в удаленный репозиторий.Однако есть ли у меня проблемы с перебазированием коммитов, которые также существуют на сервере, если они существуют только в моей частной ветке (никто больше не трогает эту ветку)?

Ответы [ 2 ]

4 голосов
/ 30 мая 2011

Ну, у git нет особых проблем с этим.На самом деле, собственный процесс разработки git включает в себя ветку на публичном сервере, которая часто обновляется (как каждый день или около того).Пока все, кто использует ветку, знают, что ее часто перебазируют, все в порядке.

Однако вы должны помнить, что у вас будет старая и новая версия патча без четкого указания, что заменяет какой.Что вы, вероятно, легко можете решить, принудительно оттолкнув ветку назад, когда перебазируете ее, и таким образом полностью отбросив старую версию.

1 голос
/ 30 мая 2011

Если у вас есть локальная ветвь, которую вы регулярно отправляете в удаленный репозиторий, но которую никто не будет использовать напрямую (то есть не будет извлекать из вашей клонированной ветки или сливаться с ней), тогда все в порядке, чтобы перебазировать вашу локальную веткувремя, которое вы хотите / нужно.

Но это предполагает хорошее соглашение об именах для определения таких "частных ветвей".
И это также предполагает, что у вас есть право на принудительное нажатие (push -f) вЧтобы переопределить свою собственную историю (удаленной частной ветви) с переписанной историей вашей локальной (частной) ветви.
Этот последний момент неочевиден, так как совместно используемое репо часто отключает такой толчок, чтобы избежать "аварии"(если у вас нет какого-либо управления ACL, например Gitolite )

...