2
我有一个git存储库,其中有多个分支。其中一些分支是私人(个人)分支机构,这些分支机构意外地被推到了遥控器上。我没有能力删除遥控器上的分支。即 - 不能运行git branch -d/-D <branch_name>
。迁移Git存储库,同时删除一些分支并保留其他分支
现在,此git存储库需要迁移到新的存储库,但没有私有和功能分支。
是我唯一的选择做下列事情吗?
- 创建一个新的空存储库(R1)并在本地克隆存储库。
- 克隆R1内的旧版本库(R1')。
git checkout <feature_branch>
git branch -d <feature_branch>
git push origin --delete <feature_branch>
。
或者是否有更好更智能的方法呢?我有大约20个这些功能和私人/个人分支,我需要摆脱。
*我没有删除遥控器上的树枝的能力*这是相当不寻常的:一般来说,如果你可以*创建*遥控器上的一个新的分支,可以*删除*也可以使用'git push --delete ...'或'git push:'。 –
torek
我同意这是不寻常的。因此,我不得不创建一个新的存储库 - 不存在现有的分支。 (不是很有用,但如果它有帮助,我试图将回购从gitolite迁移到gitlab。) – user2611581
啊,Gitolite有各种分支控制,是的。这解释了“如何”;你必须有权访问控制旋钮(如果管理员允许你这样访问,你可以通过'git push'来完成)重新设置它们以允许你删除分支。无论如何,有可能(或者可能不是)更好的方式...... – torek