Я пытаюсь создать репозиторий git с несколькими ветвями, каждая из которых отслеживает другой репозиторий svn. Я хочу, чтобы master был ветвью только для git, а не одной из ветвей svn.
Вот моя первоначальная установка:
$ mkdir repo
$ cd repo
$ git init
$ touch README
$ git add .
$ git commit -m "Initial Commit"
$ git svn init -Rsvn1 --prefix svn1/ svn://...
$ git svn fetch svn1
$ git checkout --track -b svn1 svn1/git-svn
Пока все хорошо: git branch -a показывает мне локальную ветку с именем master (которая содержит только файл README), локальную ветку с именем svn1 (которая содержит мой клон репозитория svn) и ветку remotes/svn1/git-svn . Я могу создать svn2, svn3 и т. д., повторив последние три команды.
Проблема заключается в получении обновлений: если я запускаю «git svn rebase», когда у меня есть svn1, мастер перебазируется вместо svn1. Это происходит, даже если я использую «git svn rebase svn1» или «git svn rebase svn1 svn1».
Есть ли способ заставить git svn rebase оставить моего мастера в покое?