2012-10-10 134 views
3

我已經使用git克隆了我的svn repo,指定了分支和主幹(沒有涉及標籤)。然後,我跑了一段有限的修改版本。現在,我有:git svn工作流:如何使用svn遠程分支機構?

$ git branch 
* master 

$ git branch -r 
    version-2.3.1 
    version-2.3.2 
    version-2.3.3 
    trunk 

所以,據我所知,這些分支遠程分支,我也讀http://git-scm.com/book/en/Git-Branching-Remote-Branches,但由於遠程分支機構是新的給我,我有很難理解如何在svn環境中使用這些知識。在這個環節How to switch svn branches using git-svn?一個人說只是做:

git reset --hard remotes/branch 
git checkout branch 
etc 

但第二個命令,「混帳結賬分支」並不適用於我,因爲我沒有任何地方分支機構.....

因此,現在我已經有了一堆與svn分支相對應的遠程分支,建議將「svn switch」分配給其中一個分支,dcommit'ing,然後將「svn switch」返回到一個不同的分支?我從不使用樹幹,我一直在分支上工作。

回答

2

現在你是在主分支,你只是:

git reset --hard version-2.3.3 

,然後你的主分支是一樣的遠程分支版本2.3.3。

創建另一個分支:

git checkout -b local-version-2.3.1 
git reset --hard version-2.3.1 

然後創建一個名爲新的分支:本地版本2.3.1,它是一樣的遠程分支版本2.3.1。

祝你好運。

+0

當我「svn switch」時,本地分支是否會被刪除? – Eddified

+0

一旦我創建了一個對應於每個遠程分支的本地分支,我將不再需要再次運行'git checkout -b local-version-X.Y.Z'命令? – Eddified

+0

如果您提交所有未提交的項目,則不會刪除本地分支。 – lijinma