我的公司在内部使用git,我们将一些工作作为开源使用svn发布在Google Code上。 (它应该支持git,问题可能是相同的。)
问题是我们只发布了我们存储库的 part ,因此使用http://code.google.com/p/support/wiki/ImportingFromGit中描述的git-svn将无效。
答案 0 :(得分:4)
您可以使用git-filter-branch提取要导入Google代码的部分。
答案 1 :(得分:2)
一种方法可能是为公共资源创建一个单独的Git存储库,并将其作为内部存储库中的子模块包含在内。然后,将公共Git存储库与Google Code SVN存储库同步将会容易得多。
答案 2 :(得分:2)
在git 1.7.11中,我们使用这样的命令只导出存储库中一个目录的原始文件,而不导出git控件和历史记录。请务必在现有目录中运行它,以便显示文件(即首先制作并cd到目标目录):
git archive --remote /local/master/project.git HEAD:open/src | tar x
使用--remote选项,您甚至不需要在克隆副本中运行它,因此它可以嵌入在您的发布机制周围的任何其他进程中。
您可以进一步使用tar选项从所选目录树中排除某些文件。