Git:如何将丢失的分支从一个仓库推送到另一个仓库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git:如何将丢失的分支从一个仓库推送到另一个仓库相关的知识,希望对你有一定的参考价值。
我有一个Repo Repo1,我在Repo1有10个分支。我已经创建了一个新的Repo Repo2,我已将所有代码从Repo1推送到Repo2。但是我能够在Repo1中的10个分支中看到Repo2中只有6个分支。
我的Repo1遥控器是androidOld
我的遥控器Repo2是Android
Repo1的网址是https://github.com/XYZ/Repo1.git
用于Repo2的网址是https://github.com/ABC/Repo2.git
我已经尝试了以下命令,看到其他SO链接:git push --all AndroidOld
git push AndroidOld --mirror
git push Android refs/remotes/AndroidOld/*:refs/heads/*
但没有什么工作,请让我知道如何将丢失的分支推送到新的回购
这导致AndroidOld repo中只有6个本地分支。其他4个分支机构不会结账到本地AndroidOld仓库。
您可以通过git branch
命令仔细检查,它会列出您推送到Android repo的6个分支。
要将其他4个分支(缺少的分支)推送到Android repo,您需要签出4个分支然后再次推送:
git checkout missing_branch1
git checkout missing_branch2
git checkout missing_branch3
git checkout missing_branch4
git push Android --mirror
然后10个分支将被推送到Android repo。
1.确保您拥有所有“旧回购”分支和标签的本地副本。获取所有远程分支和标记:
git fetch origin
查看所有“旧回购”本地和远程分支机构:
git branch -a
如果某些遥控器/分支机构没有本地副本,则签出以创建缺失的本地副本:
git checkout -b <branch> origin/<branch>
现在我们必须在本地拥有所有远程分支。
2.添加“新repo”作为新的远程源:
git remote add new-origin git@github.com:user/repo.git
3.将所有本地分支和标记推送到“新仓库”。推送所有本地分支(注意我们正在推动新的原产地):
git push --all new-origin
推送所有标签:
git push --tags new-origin
4.删除“旧回购”源及其依赖项。查看现有的遥控器(你会看到2个遥控器,用于获取和推送)
git remote -v
删除“旧回购”远程:
git remote rm origin
将“new repo”遥控器重命名为“origin”:
git remote rename new-origin origin
以上是关于Git:如何将丢失的分支从一个仓库推送到另一个仓库的主要内容,如果未能解决你的问题,请参考以下文章