Поддерживать локальные ветки git при переключении удаленных веток svn - PullRequest
1 голос
/ 01 октября 2010

Я использовал git-svn, работая счастливо, ветвясь для чего-либо, перебираясь от и отдавая в транк, а затем полномочия, которые решили, что мы начнем работать из ветки вместо транка. Мой вопрос: как мне получить ветви, которые были созданы от мастера, который отслеживал транк, чтобы перебазировать / объединить в новую локальную ветку, которая теперь отслеживает новую ветку?

Чтобы попытаться проиллюстрировать это, перед коммутатором были сделаны мои настройки (имена веток / репо изменены для защиты невинных):

Git        ->     svn
master     ->     trunk
 |-feature1
 |-feature2

Теперь, это моя установка

Git        ->     svn
master     ->     trunk
 |-feature1
 |-feature2
newDev     ->     branches/working

Проблема в том, что у меня есть работа в тех ветках функций, которые я хочу получить в ветке svn "работает". Каков наилучший способ сделать это?

1 Ответ

1 голос
/ 01 октября 2010

Я пару месяцев назад ввел команду git svn branch. Вы можете использовать это для создания новых веток в вашем SVN Remote, а затем работать с локальной веткой GIT на основе этого. Фиксация из этих локальных веток в правые svn-ветки также работает.

Если у вас уже есть правильная локальная ветка вокруг и вы хотите поместить ее в ветку svn, которая еще не существует, вы также можете использовать git svn branch. Используйте его для создания новой ветки удаления svn на основе транка, вставьте ее в свой git-репозиторий и затем перебазируйте вашу локальную ветку git на основе вашего главного поверх него.

В результате вы получите локальную ветку git, содержащую все ваши изменения, расположенную на вершине коммита, с git-svn-id, указывающей на ветку, которую вы только что создали. После этого ваши изменения также окажутся в ветке svn на удаленном конце.

Если сомневаетесь, всегда есть git svn dcommit -n, который сообщит вам, куда именно git-svn будет совершать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...