由于您的遥控器已被删除,您还没有任何来源,因此您必须在本地签出“远程”分支并为其分配原始名称,然后将所有分支推送到遥控器。
如果您不想要本地分支机构,只需推送您需要的分支机构。
这是我用来检查所有分支并将它们推送到新遥控器的脚本
#!/bin/bash
# add the new origin
git remote add origin2 <url>
# loop over all the original branches and set the new remote as the new track origin
for branch in `git branch -a | grep remotes | grep -v HEAD | grep -v master `; do
git branch --track ${branch#remotes/origin2/} $branch
done
# now push all branches and tags
git push origin2 --all
git push origin2 --tags
脚本有什么作用?
git branch -a
获取所有本地分支机构的列表
| grep remotes
分支名称是:'remotes/origin/' 所以这将从分支名称中删除遥控器
| grep -v HEAD | grep -v master
删除 master(当前分支)和HEAD,它是最新提交的别名