2010-08-27 129 views
2

我使用git作爲SVN存儲庫的接口。現在我創建了一個SVN分支:如何重新創建一個git 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等無效。

+0

工作的一件事是刪除SVN上的分支,並使用「git svn branch my_branch」重新創建它。但是這不可能是最好的解決方案,可以嗎?因爲它會在SVN中創建兩個無用的提交。 – 2010-08-27 14:29:57

+0

http://stackoverflow.com/questions/296975/how-do-i-tell-git-svn-about-a-remote-branch-created-after-i-fetched-the-repo可能會有所幫助。 – MatrixFrog 2010-12-09 09:49:57

回答

0

我發現使用svn在my_branch中進行提交的最簡單方法,然後再執行另一個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取來重建它:

$混帳SVN取

什麼也沒有發生,直到有人做到這一點...

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

...,使提交。 Voila:

$ 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 

遠程分支又回來了。

相關問題