2012-10-24 71 views
2

我的本地機器上有一個git-svn存儲庫。git svn和重新啓動分支rebase master

我的工作流程如下:

git checkout master 
<made bunch o' changes> 
git add . 
git checkout -b new_branch 
git commit -a 
git svn rebase 
git checkout master 

當我檢查出的主,我很驚訝地看到底墊的成果已應用於(減去雖然我的變化)。

這是預期的行爲?我原以爲它會把SVN的最新版本帶入我的分支,而不是主人。這就好像它首先在主人身上做了'svn rebase',然後再與主人重新分配我的分支。

賈斯汀

回答

2

正如提到這個Git-svn tutorial

您可以更改提交到這個分支,不會影響你的master分支,你可以來回切換你的地方分支機構之間的主分支。
此外,每個分支都連接到SVN存儲庫的主幹,因此從這些分支提交的所有更改都會自動合併到SVN幹線中,並在您下次運行git svn rebase時出現在您的本地幹線中請檢出您的trunk

所以,當你的new_branch頭確實對SVN變化頂部重訂,說SVN的變化已經被應用到主支路的第一,重訂master前,然後new_branch(因爲new_branch新提交的關於master新的頂部做提交)。

如果短於:

(new_branch)$ git checkout master 
(master) $ git svn rebase 
(master) $ git checkout new_branch 
(new_branch)$ git rebase master 
相關問題