如何将一堆git存储库从一个远程存储库移动到另一个?

时间:2014-09-30 03:26:35

标签: git github

我是git的新手。我尝试将一堆git项目从一个远程存储库移动到另一个远程存储库。以下是我想要做的事情:

  1. 从“aaa”远程存储库获取所有项目和代码,使用 repo init -u git:// aaa / manifest -b test ,然后使用 repo sync 获取所有内容 “test”分支下的代码。

  2. 将这些代码推送到“bbb”远程存储库,所有项目和代码都必须上传到另一个分支“干净”。在上传之前,所有项目都是在bbb远程存储库上创建的。

  3. 我首先尝试从aaa远程存储库获取分支测试代码,并且运行正常,没有任何问题。然后,当我想上传到另一个远程存储库时,我被拒绝了,无法推送。我得到的最常见的错误信息是:“ git push(没有共同的祖先)”。

    我想知道是否有任何简单的方法可以将所有代码基于manifest.xml,然后推送到另一个远程存储库而不进行任何更改?我一直试图这样做一个星期,但仍然无法得到它。如果有人能帮我解决这个问题,我将非常感激,非常感谢你!

    01.10.2014招募:

    我想将至少100个项目从一个远程服务器移动到另一个远程服务器,而不仅仅是移动一个项目。因此,如果主机“A”上的分支“test”下有100个项目,我想将它们移动到主机“B”,并放在分支“guest”下。希望你能理解我的问题,感谢我已经得到的2个答案,你真好。

2 个答案:

答案 0 :(得分:0)

Git可以随心所欲地推动任何事情,如果你强迫"强迫"它是这样做的。

在你的情况下,它拒绝推送,因为Git找不到任何共同的祖先。如果你试着"强迫"推它,你的分支会被推,但它将是一个断开连接的分支。

现在,如果我理解正确,你想从#34; aaa"的一个分支中获取代码。并将其推送到" bbb"的另一个分支。

为此,最好直接使用refspec。 (因为你是git的新手,建立共同的祖先将是一种痛苦)

回购aaa: 1.添加远程' aaa'

  1. $git fetch aaa manifest

  2. $git checkout -b test aaa/manifest

  3. $git push -f bbb test

  4. P.S:我已经给了' f'在步骤4中,根据你的问题,你在aaa和bbb之间没有任何共同的祖先。

    快乐的Gitting!

答案 1 :(得分:0)

将代码推送到另一个分支名称为 clean

的远程存储库的步骤
  • 首先使用此命令git branch clean
  • 在本地存储库中创建分支
  • 然后通过此命令git remote add otherremotename otherremoteURL
  • 将您的其他远程网址(bbb网址)添加到您的重新发布中
  • 然后使用此命令将代码推送到远程存储库,分支名称为 clean git push otherremotename clean