svn - 将单个提交添加到 Git 存储库的根目录/将 Git 导出到 Subversion

标签 svn git

我想将 Git 存储库 (G) 导出到 SVN 存储库 (S)。 S已经用标准布局(branches/tags/trunk)进行了初始化,G的开发历史到此为止。我遵循了 Google Open Source Blog 中的建议其中详细说明了导出 GS 的工作原理。基本上,博客建议将 git-svn 克隆 S 到一个空目录中,fetch G 到一个临时文件中。将其分支并 rebase 为“master”,从而成为第二个 Git 存储库 (G')。

我既不想放弃不受源代码控制的文件,也不想放弃源代码中不可用的分支。这就是为什么我不想继续与 G' 合作,而是与 G 合作。有没有办法取回代表对 S 的布局提交的新提交?我没有成功尝试将 G'mergeG(当然没有共同的祖先)。

最佳答案

您应该能够使用 git merge --strategy=ours merge G'G,即忽略祖先并创建一个使用 G' 树的提交,但似乎将两个提交都作为父提交。结果会有点难看,因为历史记录将包含每个提交的两个副本,但您应该能够继续无缝地处理 G

关于svn - 将单个提交添加到 Git 存储库的根目录/将 Git 导出到 Subversion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1420754/

相关文章:

Gitlab - git 的身份验证失败太多

angular - 在 API 和前端之间共享接口(interface)

git - 使用 GIT,我如何有选择地将一个提交的更改 merge 到另一个 'fork' 上?

git - Google Code 有什么可以与 GitHub pull 请求相媲美的吗?

svn - 是否可以让 svn 在每次有人提交某些内容时执行一个脚本?

java - 如何在 Eclipse 中导入两个项目,就像一个

svn - 在使用 git 和 git-svn 桥接器时,如何指示要在 svn 中忽略的文件?

svn - checkout 时如何摆脱 TortoiseSVN 1.8.1 中的错误 "' folder_name' not valid as filename in directory"?

git - 用于 git 的开源基于 Web 的代码和变更集查看器

Git difftool 显示相同的文件