Как мне вернуть ветку git-svn в SVN HEAD? - PullRequest
5 голосов
/ 09 декабря 2008

У меня есть локальный репозиторий git, который отслеживает удаленный репозиторий SVN через git svn. Я сделал и зафиксировал некоторые изменения в локальном репозитории git, но теперь я хотел бы создать ветку, которая отражает SVN HEAD, чтобы внести некоторые изменения в код в том виде, в каком он есть в SVN, потому что я не хочу распространять изменений в моем git master в SVN просто нет. Как я могу пойти по этому поводу?

Немедленное продолжение: мне нужно будет внести и зафиксировать изменения в SVN HEAD, а затем объединить их с моим git master. Как мне это сделать? Должен ли я git merge перейти 'svn-edits' в master или сделать git svn rebase?

1 Ответ

5 голосов
/ 09 декабря 2008

Я предполагаю, что ветвь, над которой вы работаете, это ветка для trunk (я назову ее old-trunk). Просто создайте новую ветку оттуда

git checkout -b real-trunk remotes/trunk

Теперь внесите изменения в real-trunk и подтвердите оттуда. После этого просто перенесите старую ветку на новую.

git svn dcommit
git checkout old-trunk
git rebase real-trunk

Теперь ваши предыдущие изменения основаны на более недавних изменениях, которые вы только что сделали.

...