【问题标题】:Import commits from git into existing subversion从 git 导入提交到现有的颠覆
【发布时间】:2013-11-27 09:11:55
【问题描述】:

我不确定以前是否有人问过这个问题。然后帮我提供一个链接。

我有一个 SVN 存储库。其他人将其转换为 git 来做一些工作。现在,我想再次将他的提交导入 SVN。那么我该怎么做呢?

【问题讨论】:

    标签: git svn merge


    【解决方案1】:

    标准的 Git 方式

    所以基本上你必须联系 SVN repo 并且 SVN 在那里提交工作。这是通过以下命令以标准方式完成的:

    $ git svn rebase
    $ git svn dcommit
    

    您可以在Pro Git bookGit and SVN chapter中找到详细信息。

    第一个命令将本地 Git 存储库更新为 SVN 的 HEAD 版本,并在其上播放迄今为止在本地完成的所有提交(rebaseing)。 这将只修改您的本地存储库,这一点很重要!

    请注意,这可能需要一些额外的 git-magic,这取决于两个 repo 分歧的程度(例如,合并冲突)。但如果你幸运的话,一切都会顺利进行。 如果您不是 Git 魔术师,请在执行任何操作之前对本地存储库进行完整备份 :-)

    然后第二个命令将所有本地修改提交回您的 SVN 存储库(dcommit 是 “远程提交”)。

    替代解决方案

    另一种方法是从本地修改创建补丁:

    $ git format-patch ...
    

    然后为干净的 SVN 存储库应用补丁,如果提交历史不重要,只需在一次提交中提交所有更改。如果您更喜欢 SVN,这可能是更简单的方法。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多