将整个远程git存储库推送到另一个远程

时间:2015-10-27 21:23:53

标签: git github remote-branch

我已将我的项目从错误的项目中分离出来(我分叉了一个叉子),我想重置我的GitHub存储库,使其脱离原始版本。在GitHub中移动一个分支涉及丢弃和重新生成AFAIK。唯一的问题是我想将我的旧远程分支refs推送到新的分支而不创建本地分支,因为(让我们说为了参数)我有100个不同的分支,这将花费太多时间来检查每个远程分支的新本地版本。 (我的本地分支列表非常精简,但我通常会在GitHub上留下修复分支。)

1 个答案:

答案 0 :(得分:1)

您可以使用refspec中的git push(步骤4):

来实现此目的
  1. 通过重命名remote:refs/remotes/origin/...
  2. 将远程跟踪引用refs/remotes/oldfork/...重命名为git remote rename origin oldfork
  3. 在GitHub上删除并重新分发回购
  4. 重新添加origin远程:git remote add origin <url>
  5. 将旧分支推送到新分支:git push origin 'refs/remotes/oldfork/*:refs/heads/*'
  6. 删除oldfork远程:git remote remove oldfork
  7. 如果原始分支中有自己的标记,请将--tags添加到git push命令行。