使用git svn检出远程分支

mar*_*vic 182 git git-svn

我已经使用git svn检出了一个svn存储库.现在我需要检查其中一个分支并跟踪它.这是最好的方法吗?

Gre*_*con 346

标准的Subversion布局

创建一个包含Subversion主干,标签和分支的git克隆

git svn clone http://svn.example.com/project -T trunk -b branches -t tags

--stdlayout如果您的Subversion存储库使用典型结构,则该选项是一个很好的快捷方式:

git svn clone http://svn.example.com/project --stdlayout

让你的git存储库忽略subversion repo所做的一切:

git svn show-ignore >> .git/info/exclude

您现在应该能够在git端看到所有Subversion分支:

git branch -r

说Subversion中的分支名称是waldo.在git方面,你会跑

git checkout -b waldo-svn remotes/waldo

-svn后缀是为了避免表单的警告

warning: refname 'waldo' is ambiguous.

要更新git分支waldo-svn,请运行

git checkout waldo-svn
git svn rebase

从仅限行李箱的结账处开始

要将Subversion分支添加到仅主干克隆,请修改.git/config要包含的git存储库

[svn-remote "svn-mybranch"]
        url = http://svn.example.com/project/branches/mybranch
        fetch = :refs/remotes/mybranch

你需要养成跑步的习惯

git svn fetch --fetch-all

更新所有git svn认为是单独的遥控器.此时,您可以按上述方式创建和跟踪分支.例如,要创建与mybranch对应的git分支,请运行

git checkout -b mybranch-svn remotes/mybranch

对于你想要的分支git svn dcommit,保持他们的历史线性!


更多的信息

您可能也有兴趣阅读相关问题答案.

  • 我建议为你的svn遥控器提供一个前缀.(在执行`git-svn init`或`git-svn clone`时添加`--prefix = svn /`这将消除在本地分支上添加后缀的需要. (19认同)