2012-10-10 107 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