Как воссоздать ветку удаленного отслеживания git svn? - PullRequest
2 голосов
/ 27 августа 2010

Я использую git в качестве интерфейса к хранилищу SVN.Теперь я создал ветку SVN:

git svn branch my_branch

Это создало каталог в моем репозитории SVN, а также создало ветку с именем remotes / my_branch.Затем я удалил эту ветку удаленного отслеживания:

git branch -r -d my_branch

Теперь этот каталог все еще находится в хранилище SVN, но я не могу найти способ вернуть ветку удаленного отслеживания.Любая идея?Я попытался

git svn branch my_branch
=> branch test_new_mod_named already exists

и поиграл с git svn reset и т. Д. Безрезультатно.

1 Ответ

0 голосов
/ 24 мая 2011

Я обнаружил, что проще всего сделать коммит в my_branch с помощью svn, а затем сделать еще одну git svn fetch.

$ git svn branch my_branch
Copying file:///Users/tfnico/svn-repo/website/trunk at 
r14 to file:///Users/tfnico/svn-repo/website/branches/my_branch...

Удаленная ветвь есть:

$ git branch -a
  master
* trunk
  remotes/my_branch

Удалить ветку:

$ git branch -r -d my_branch
Deleted remote branch my_branch (was d422fbd).

И ветка исчезла.Теперь попробуйте выполнить git svn fetch:

$ git svn fetch

Ничего не происходит, пока кто-нибудь не сделает это ...

$ svn checkout file:///Users/tfnico/svn-repo/website/branches/my_branch/

... и делает коммит.Вуаля:

$ git svn fetch
    M   hotfix.txt
r19 = f7449780fbb653cbcbc09861c0b446d41321e3f5 (refs/remotes/my_branch)
[17:29:33] tfnico:~/sources/git/website/[trunk]>git branch -a
  master
* trunk
  remotes/my_branch

Удаленная ветвь вернулась.

...