在不同的git repos之间合并/修补更改的最佳方法

时间:2012-04-23 21:59:03

标签: git github git-svn

我一直无法找到这个问题的充分解决方案,所以任何帮助都将不胜感激。这是设置:

  1. 我们有一个SVN回购。该回购也被镜像到git仓库git_svn_mirror
  2. 在SVN回购中创建了分支svn_branch
  3. 工作在svn_branch完成,包括多次从主干合并。
  4. git_from_svn_branch创建了新的git repo svn_branch
  5. 工作在git_from_svn_branch完成。
  6. 我们现在需要将svn_trunk的HEAD合并到git_from_svn_branch
  7. 图:

    [git_svn_mirror] [SVN]                [git_from_svn_branch]
          |  <-mirror  |
          |  <-mirror  |
          |  <-mirror  |-\                        \
          |  <-mirror  | |                        |
          |  <-mirror  |-|                        |
          |  <-mirror  | |  --> (move to git) --> | (kept branch history only)
          |  <-mirror  |                          |
          |  <-mirror  |                          |
          |  <-mirror  |                          |
          |  <-mirror  |                        HEAD    <----
          |  <-mirror  |                                    |
        HEAD         HEAD                                   |
                                                            |
         ^            ^                                     |
         |____________|__ how do we get one of these, into  |__ this (or vice-versa)
    

    忽略导致我们到达这种情况的问题(“为什么创建了第二个git repo”等),问题的最佳解决方案是什么?

1 个答案:

答案 0 :(得分:1)

git remote add git-from-svn-mirror its://repo/url
git fetch git-from-svn-mirror

git merge git-from-svn-mirror/master

应该这样做。