我在GitHub有一个项目,有11个分支机构。当我使用其中一种技术的后续版本重建项目时,这必须保持不变。
我在一个私人BitBucket仓库中重建了这个项目。这也有11个分支,以及完全不同的提交历史。
我已经镜像了原始的GitHub存储库,因此仍然可以公开访问“旧”代码。下一步是吹走原始GitHub仓库的内容,并用BitBucket仓库中的内容替换。
我不想删除/重命名GitHub仓库,因为有一些观察者和明星 - 那些人应该获得最新版本的代码。
所以问题是:如何删除GitHub仓库的分支和内容,并用其他分支,内容和历史替换?
理想情况下,我最终将BitBucket版本作为staging
遥控器,将GitHub作为origin
。
答案 0 :(得分:3)
我自己没有对此进行测试,但根据git push docs,您应该使用--mirror
标记。
git push --mirror <name of github remote>
更新:我刚刚测试了它,它似乎按照我的预期工作。它将强制您的遥控器看起来与您的本地存储库完全相同,包括删除/添加分支和标签以及强制更新分支。
答案 1 :(得分:0)
如果我理解正确,您可以使用强制推送来替换GitHub存储库的内容。
git push -f