Я использую git-svn для работы с svn-репозиторием. Макет является стандартным, и я создал локальный репозиторий с:
$ git svn clone -s http://mysvnrepo
(master)$
Мне нужно работать на удаленной (svn) ветке - MyBranch, поэтому я создал локальную ветку для отслеживания удаленной:
(master)$ git checkout -b localMyBranch remotes/MyBranch
(localMyBranch)$
Я продолжаю работать и отправлять сообщения в местный филиал, а иногда я делаю dcommit:
(localMyBranch)$ git svn dcommit
Тем временем над стволом работают другие люди, и время от времени я хочу объединить изменения из ствола в мою ветку, чтобы синхронизировать их. Вот где я действительно запутался, так как не мог найти хорошую информацию, как это сделать. Пока я знаю, что мне нужно сделать:
(localMyBranch)$ git svn dcommit
(localMyBranch)$ git checkout master
(master)$ git svn rebase
И что теперь? Я читал, что это НЕ правильный путь:
(master)$ git checkout localMyBranch
(localMyBranch)$ git rebase master
Как это запутать информацию о слиянии для SVN.
Так каков наилучший способ «перебазировать» мою удаленную ветку svn в удаленную магистраль, сохранив информацию о слиянии для svn?