git - 完全替换 GitHub 存储库、分支和提交

标签 git github

我在 GitHub 中有一个项目,有 11 个分支。当我使用其中一种技术的更新版本重建项目时,这必须保持原样。

我在私有(private) BitBucket 存储库中重建了该项目。这也有 11 个分支,以及完全不同的提交历史。

我已经镜像了原始的 GitHub 存储库,因此仍然可以公开访问“旧”代码。下一步是删除原始 GitHub 存储库的内容,并替换为 BitBucket 存储库中的内容。

我不想删除/重命名 GitHub 存储库,因为它有一些观察者和明星 - 这些人应该获得最新版本的代码。

所以问题是:如何删除 GitHub 存储库的分支和内容,并替换为另一个分支、内容和历史记录?

理想情况下,我最终会将 BitBucket 版本作为 staging 远程,将 GitHub 作为 origin

最佳答案

我自己没有测试过,但是根据 git push docs ,您应该使用 --mirror 标志。

git push --mirror <name of github remote>

更新:我刚刚对其进行了测试,它似乎按我预期的那样工作。它将强制您的远程看起来与您的本地存储库完全一样,包括删除/添加分支和标签以及强制更新分支。

关于git - 完全替换 GitHub 存储库、分支和提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29427180/

相关文章:

git - 将 GIT 用于在多个位置具有目录的项目

git - 如何从 HTTPS 迁移到 SSH github

git - 如何将 GitHub 存储库中的文件转换为 Gist

linux - 将我自己的 Git 服务器与我的 Windows Eclipse IDE 链接起来

git - 如何检测Git服务器是否支持浅克隆?

git - 如何在 GitKraken 中存储密码

github - Git 提交未与我的 GitHub 帐户相关联

git - Phpstorm Git 文件颜色

Git 找到所有分支的 head commit

git - 为什么 Github 将大写字母排序而不是小写字母?