我只想从 svn 存储库导入 1 个分支作为 git 存储库。所以我希望该分支的内容成为主控。我不想要存储库中的任何其他内容。我也不太希望能够提交到原始的 svn 存储库。事实上,我不希望我的 svn 存储库发生任何事情。
示例:
branches
branch1
branch2
some-branch
project
所以我希望 project
文件夹的内容成为我的主分支。我怎样才能做到这一点?
谢谢。
编辑
看起来有分支被 merge 到我的分支中,而 git-svn 找不到历史记录,因为它在查找
分支/一些分支/项目/分支/branch1
它认为我的远程分支是根。我该如何修复它?
最佳答案
1) 在 .git/config 中定义新分支:
[svn-remote "release-branch"]
url = svn+ssh://<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c9bcbaacbb89b0a6bcbbada6a4a8a0a7e7aaa6a4" rel="noreferrer noopener nofollow">[email protected]</a>/source/branches/mono-2-2/mcs
fetch = :refs/remotes/git-svn-release-branch
2) 导入SVN分支。 SVN_BRANCHED_REVISION 是 SVN 中发生分支时的修订版本。
[~]$ git svn fetch release-branch -r SVN_BRANCHED_REVISION
3) 将本地 Git 分支挂接到远程分支:
[~]$ git branch --track release git-svn-release-branch
5) checkout 和更新
[~]$ git checkout release
[~]$ git svn rebase
关于git-svn 仅导入分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4291347/