Git 如何将多个subversion Remote合并到一个主分支中

Git 如何将多个subversion Remote合并到一个主分支中,git,svn,Git,Svn,我想在一个git存储库中跟踪几个subversion存储库。我设法让git svn将所有subversion存储库提取到它们自己的远程分支中。所以现在 $ git branch -a master remotes/svn/Project1 remotes/svn/Project2 remotes/svn/Project3 看起来不错。现在我想将所有这些分支合并到主目录中,但合并到子目录中,因为它们都包含类似的命名文件。我尝试签出一个分支,将文件移动到一个子目录,提交,然后合并到主目录。但这会导

我想在一个git存储库中跟踪几个subversion存储库。我设法让git svn将所有subversion存储库提取到它们自己的远程分支中。所以现在

$ git branch -a
master
remotes/svn/Project1
remotes/svn/Project2
remotes/svn/Project3
看起来不错。现在我想将所有这些分支合并到主目录中,但合并到子目录中,因为它们都包含类似的命名文件。我尝试签出一个分支,将文件移动到一个子目录,提交,然后合并到主目录。但这会导致一个错误:

remote: error: refusing to update checked out branch: refs/heads/CPSP
remote: error: By default, updating the current branch in a non-bare repository
... 
归档此文件的正确方式是什么?为了清楚起见,我希望最终得到一个如下所示的存储库:

Project1/
Project2/
Project3/
只是想澄清一下,这些目录不存在于subversion存储库中

我计划只跟踪subversion存储库,而不提交给它们,尽管这样做很好
Tnx

我担心,通过简单的git操作,您将无法实现这一点

如果您认为git存储库是一个目录树,那么在任何时候,它都只能有一个快照。因此,如果您将多个svn存储库映射到不同的远程分支下,您将永远不会同时看到它们

如果您确实希望看到相同类型的文件夹,以下方法可能会稍微减轻您的痛苦:

创建父文件夹 为project1创建文件夹 进入project1文件夹并在此处克隆svn存储库 对所有要跟踪的项目执行相同的操作 返回父文件夹 创建批处理/脚本以转到每个项目并提取svn内容
通过上述方式,实际上您可以完全访问svn,甚至可以提交。缺点是您不能直接从父文件夹使用任何git命令。

我担心,通过简单的git操作,您将无法实现这一点

如果您认为git存储库是一个目录树,那么在任何时候,它都只能有一个快照。因此,如果您将多个svn存储库映射到不同的远程分支下,您将永远不会同时看到它们

如果您确实希望看到相同类型的文件夹,以下方法可能会稍微减轻您的痛苦:

创建父文件夹 为project1创建文件夹 进入project1文件夹并在此处克隆svn存储库 对所有要跟踪的项目执行相同的操作 返回父文件夹 创建批处理/脚本以转到每个项目并提取svn内容 通过上述方式,实际上您可以完全访问svn,甚至可以提交。缺点是不能直接从父文件夹使用任何git命令。

请尝试。看起来像的副本。尝试。看起来像的副本