【问题标题】:Syncing a Git repository with an SVN repository将 Git 存储库与 SVN 存储库同步
【发布时间】:2015-11-03 01:29:06
【问题描述】:

一个月前,我 git svn clone 建立了 SVN 存储库,并开始使用更新版本的编译器构建源代码。一个月内,原始的 SVN 存储库发生了变化(提交了一堆提交的人数)。现在我想在 git 存储库中进行所有这些更改。

我尝试将 svn-remote 部分添加到 git 的配置文件中。 according to this

但它没有工作。有什么想法或建议吗?我想了解对 svn repo 所做的所有提交的历史记录。 (git log 中的作者和提交消息)

谢谢

【问题讨论】:

  • git svn rebase - git-scm.com/docs/git-svn
  • 你最初是如何克隆 svn 的? git svn info 会显示原始的 svn 存储库吗?然后只需按照上面的建议即可。
  • git svn info 给我Unable to determine upstream SVN information from working tree history
  • 我做了`git svn clone --preserve-empty-dirs --authors-file= /path/to/git/local
  • @1615903 , git svn rebase 给了我同样的错误:Unable to determine upstream SVN information from working tree history 那是因为我在我的 git 分支上工作而不是在主线上工作吗? SVN 的分支概念与 Git 大不相同。

标签: git svn version-control git-svn


【解决方案1】:

当您使用git svn clone 创建 Git 工作目录时,它会在后台运行一系列不同的命令:git init 设置初始 Git 存储库,git svn init 设置 Subversion 元数据,然后@987654324 @ 从 Subversion 存储库中获取所有提交。

再次运行 git svn fetch 将获取自上次 git svn fetch(或最初的 clone)以来的所有更改并将它们添加到您的 Git 历史记录中。

也就是说,如果您后来弄乱了 Git 配置,您可能会发现遇到了新问题,因为您可能弄乱了原始配置。如果是这种情况,最好的办法是使用 git config --remove-section svn-remote.svn 删除初始 Subversion 元数据,然后使用您第一次为 git svn clone 提供的相同参数运行 git svn init

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-19
    • 1970-01-01
    • 2011-09-16
    • 1970-01-01
    • 1970-01-01
    • 2022-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多