我有一个git存储库,在源头有多个分支。这些分支中的一些是被意外推到远程的私人(个体)分支。我无法删除遥控器上的分支。即 - 无法运行git branch -d/-D <branch_name>
。
现在,这个git存储库需要迁移到新的存储库,但不需要私有和功能分支。
我唯一的选择是做以下事情吗?
git checkout <feature_branch>
git branch -d <feature_branch>
git push origin --delete <feature_branch>
。还是有更好更聪明的方法吗?我需要摆脱这些功能和私人/个人分支中的大约20个。
答案 0 :(得分:2)
我正在尝试将回购从gitolite迁移到gitlab
在GitLab端,您可以创建一个空的新仓库。
在Gitolite方面,您可以在本地克隆您的仓库,删除分支,然后更改其远程,并推回GitLab
cd /path/to/local/repo
git branch -rd origin/a_private_branch1
...
git branch -rd origin/a_private_branchn
创建local branch for each remaining remote branches。
然后:
git remote set-url origin /url/to/new/gitlab/repo
git push --mirror