在工作中,我们有一个svn存储库,它使用一个有点标准的文件夹结构,如下所示:
remote-repo/
tags/
branches/
branch_to_proj1_A/
proj_1_1
proj_1_2
trunk/
proj1/
proj1_A/
proj1_1
proj1_2
proj2/
proj3/
在我执行git-svn克隆(使用-s选项)后,我得到以下签出的文件夹结构
local-gitsvn/
proj1/
proj1_A/
proj1_1
proj1_2
proj2/
proj3/
现在我有兴趣使用svn分支&branch; to_proj1_A'别人创造的。看起来这只是文件夹proj1_A的分支......所以我做
$ git-svn checkout -b local-branch_to_proj1_A branch_to_proj1_A
结帐后,我在git repo中有以下文件夹结构
local-gitsvn/
proj1_A/
proj1_1
proj1_2
请注意,其余的项目都已消失,只有proj1_A在那里。
我的问题是,是否可以将分支机构签出到正确的文件夹?因此,在' git svn checkout'我得到与原始克隆仓库相同的文件夹结构?
感谢您的帮助!
答案 0 :(得分:0)
如果您不关心同步回svn,您可以进行子树合并:
签出了trunk / master(或更具体的修订版):
git subtree merge --prefix=proj1/proj1_A branch_to_proj1_A
成功合并后,您将从branch_to_proj1_A的更改合并到完整目录中。