2008-12-09 6 views
5

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

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

+0

Серьезно? Вы можете сделать это с помощью git и svn !? Дикий !! – Kieveli 2008-12-09 13:35:13

ответ

5

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

git checkout -b real-trunk remotes/trunk 

Теперь внести изменения в real-trunk и совершать оттуда. Затем просто переустановите свою новую ветку на новую.

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

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