Git:如何将丢失的分支从一个仓库推送到另一个仓库

问题描述 投票:1回答:2

我有一个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/* 但没有什么工作,请让我知道如何将丢失的分支推送到新的回购

android git github version-control repository
2个回答
2
投票

这导致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。


0
投票

1.确保您拥有所有“旧回购”分支和标签的本地副本。获取所有远程分支和标记:

git fetch origin

查看所有“旧回购”本地和远程分支机构:

git branch -a

如果某些遥控器/分支机构没有本地副本,则签出以创建缺失的本地副本:

git checkout -b <branch> origin/<branch>

现在我们必须在本地拥有所有远程分支。

2.添加“新repo”作为新的远程源:

git remote add new-origin [email protected]: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
© www.soinside.com 2019 - 2024. All rights reserved.