`git svn rebase` и `git rebase trunk`

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

Ветви: ствол (отслеживание ствола svn), мастер (довольно близко к тому, что находится в svn) и тема.

*------------------ trunk
 \
  *-----------*--------- master
               \
                *-------- topic

Рабочий процесс:

[on branch master]
$ git svn fetch
$ git svn rebase
$ git checkout -b topic
$ git rebase master
[hack hack hack]
$ git commit -a
[once upstream is ready for my changes]
$ git svn fetch
$ git checkout master
$ git svn rebase
$ git checkout topic
$ git rebase master
$ git svn dcommit
$ git checkout master
$ git svn rebase
$ git branch -d topic

Предполагая, что между git svn fetchи git svn rebaseникто не фиксирует svn, Является ли git svn rebaseзапуском на мастере в основном таким же, как git rebase trunkзапуском на мастере?

Можно ли использовать более разумный рабочий процесс?Похоже, происходит много изменений веток и перебазирования. Я понимаю, что хочу иметь возможность перебазировать свою работу поверх всего, что есть в svn, но похоже, что я делаю больше перебазировок, чем это строго необходимо.

15
задан Sean McMillan 18 May 2012 в 13:17
поделиться