Как синхронизировать удаленные ветки с trunk с помощью git-svn

Я использую 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?

7
задан Cœur 18 June 2017 в 09:04
поделиться