小编典典

使用 git svn 签出远程分支

all

我已经使用 git svn 检查了一个 svn 存储库。现在我需要检查其中一个分支并对其进行跟踪。最好的方法是什么?


阅读 84

收藏
2022-07-18

共1个答案

小编典典

标准颠覆布局

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

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

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

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

让你的 git 仓库忽略 subversion 仓库所做的一切:

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 存储库.git/config以包含

[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,保持它们的历史线性!


2022-07-18