2010-09-30 113 views
1

我一直在使用git-svn快樂地工作,爲任何分支工作,重新分配和分配到主幹,然後決定我們將開始工作的權力分支而不是主幹。我的問題是,我如何獲得由主跟蹤中繼來分支/合併到現在正在跟蹤新分支的新本地分支的分支?在切換svn遠程分支機構時維護git本地分支機構

要嘗試來說明吧,這裏是我的設置開關之前(支/回購名稱更改爲保護無辜者):

Git  ->  svn 
master  ->  trunk 
|-feature1 
|-feature2 

現在,這是我的設置

Git  ->  svn 
master  ->  trunk 
|-feature1 
|-feature2 
newDev  ->  branches/working 

問題是,我在那些想要進入svn分支「工作」的功能分支中工作。什麼是最好的方式來做到這一點?

回答

1

我幾個月前回想起了git svn branch命令。你可以使用它在你的svn遠程中創建新的分支,然後根據這個分支工作一個本地的git分支。從這些地方分支到正確的svn分支承諾也有效。

如果你已經有了合適的本地分支,並且想把它放到一個不存在的svn分支中,你也可以使用git svn branch。使用它創建一個基於主幹的新的svn分支,將其拖到你的git倉庫中,然後根據你的主人在它之上重新綁定你的本地git分支。

你最終會得到的是一個本地git分支,其中包含所有更改,其中包含指向剛創建的分支的git-svn-id。當從那裏提交時,你的改變也會在遠端的svn分支中結束。

如果有疑問,總會有git svn dcommit -n,它會告訴你確切地說git-svn將提交到哪裏。