Я работаю над проектом, который использует subversion для своего репозитория. Поскольку мне нужно внести некоторые изменения, которые не могут быть отправлены на сервер svn, я начал использовать git svn
, чтобы я мог выполнять локальные проверки. Моя настройка выглядит так:`git svn rebase` vs` git rebase trunk`
багажник (отслеживание svn багажник), мастер (довольно близко к тому, что находится в svn) и тема.
*------------------ trunk
\
*-----------*--------- master
\
*-------- topic
Workflow:
[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
, ли git svn rebase
работать на мастера в основном так же, как git rebase trunk
работать на хозяина?
Есть ли более разумный рабочий процесс для использования? Кажется, что происходит много изменений ветвей и происходит переполнение. Я понимаю, что я хочу, чтобы иметь возможность перезагрузить мою работу поверх всего, что есть в svn, но похоже, что я делаю больше переустановок, чем это абсолютно необходимо.
На первом: поэтому мне не нужно «git svn fetch» перед тем, как «git svn rebase» ... Пока я нахожусь на «master». Но если я на 'теме',' git svn fetch' будет обновлять 'trunk', но оставить' master' и 'topic' в одиночку. Я никогда не «git svn rebase» в моей ветке темы, хотя я только «git rebase». Интересно знать. –
@SeanMcMillan «Пока я нахожусь на хозяине»: да, это идея. И вы каждый раз выполняете 'git checkout master', поэтому ... – VonC
На втором: согласно документам' git svn dcommit' без указанной ветки нажимает на фиксацию текущего HEAD, а не только на 'master'. Поэтому я передаю SVN * из своей ветви *, а затем полагаюсь на 'git svn rebase' на' master', чтобы вернуть коммиты из SVN. Я откажусь от ветки «тема» после того, как у меня получилось. Разве это не кошерность? –