将 GitHub 存储库的所有分支迁移到新位置仅发送 Master 作为每个源/<branch>



我很兴奋能迁移多个repo,但后来发现我的分支都是master。对我的错误有什么看法吗?以下是我的迁移过程,特别是从GHE迁移到GH帐户。

git clone <GHE repository>
cd <repository name>
for remote in `git branch -r | grep -v '->'`; do git branch --track $remote; done
git remote set-url origin <public GH repository>.git
git push -u --all origin

很明显,我正在尝试跟踪和迁移所有分支,如果我要求太多,如果这是一个问题修复,我们可以一次做一个。

为了简化步骤,我使用了。。。

git push --all origin

而且。。。

git push --mirror origin

只有master在推送GitHub。--mirror确实清理了复制master的坏分支。

因此,经过团队的一些调查,如果所有人都同意,这看起来是一个干净的迁移过程。。。

git clone <orig repository>
cd <repository name>
for i in `git branch -a | grep remote`; do git branch --track ${i#remotes/origin/} $i; done

3) 将本地副本原点更改为新位置

git remote set-url origin <new repository>

4) 将其推送到新的存储库(作为旧存储库的镜像)

git push --mirror

在我接受之前,我会考虑修改,如果有更好的做法的话。

最新更新