Git SVN工作流程:如何使用SVN远程分支?

3

我使用git克隆了我的svn仓库,指定了分支和主干(没有标签参与)。然后,我对一定范围的版本进行了获取(fetch)。现在,我有:

$ 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上下文中使用这些知识。在如何使用git-svn切换svn分支?链接中,有人建议只需执行以下操作:

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

但是第二个命令“git checkout branch”对我不适用,因为我没有任何本地分支.....
所以,现在我有了一堆对应于svn分支的远程分支,那么"svn switch"到其中一个分支,dcommit,然后"svn switch"回另一个分支的推荐工作流程是什么?我从不使用主干,我总是在分支上工作。
1个回答

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

接下来,您需要创建一个名为“local-version-2.3.1”的新分支,并使其与远程分支version-2.3.1相同。

祝好运。


当我执行 "svn switch" 命令时,本地分支会被删除吗? - Eddified
其实你不理解什么是远程分支,远程分支意味着你从远程克隆的一些分支,但现在这些远程分支也在本地。你明白我的意思吗? - lijinma
git svn fetch只在当前分支上工作吗?还是它会更新所有远程分支? - Eddified
是的...只获取更新远程分支...它不适用于当前分支。 - lijinma
是的,你说得对。例如,一个远程库被称为'Jinma',git fetch Jinma,它将获取所有'Jinma'的分支。 - lijinma
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接