我已经使用 git svn 检查了一个 svn 存储库。现在我需要检查其中一个分支并对其进行跟踪。最好的方法是什么?
创建一个包含您的 Subversion 主干、标签和分支的 git 克隆
git svn clone http://svn.example.com/project -T trunk -b branches -t tags
如果您的 Subversion 存储库使用典型结构,该--stdlayout选项是一个不错的快捷方式:
--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 方面,你会跑
waldo
git checkout -b waldo-svn remotes/waldo
-svn 后缀是为了避免形式的警告
warning: refname 'waldo' is ambiguous.
要更新 git 分支waldo-svn,请运行
waldo-svn
git checkout waldo-svn git svn rebase
要将 Subversion 分支添加到仅主干克隆,请修改您的 git 存储库.git/config以包含
.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 svn
git checkout -b mybranch-svn remotes/mybranch
对于您打算使用的分支git svn dcommit,保持它们的历史线性!
git svn dcommit