我有一个 git 存储库(带有 github 远程)。
然后,我删除了github中的存储库。
我想在 github 中重新创建具有完整历史记录的 git 存储库(即分支、提交和合并历史记录)。
我如何实现它?
我曾尝试通过 Web UI 创建一个新的存储库,克隆它,逐个复制文件,但这太耗时了。
(我将在这里使用
git.example.com
而不是 GitLab,因为 GitLab 没有什么特定的内容,除了可能通过 Web 界面创建 git 存储库的可能性;但如今,有很多不同的提供商拥有相同的功能功能)
通过网络界面创建一个新的 git 存储库,例如
https://git.example.com/bfg/frobnozzel.git
创建(本地)存储库的本地裸克隆(在本示例中关闭为
/tmp/new-frobnozzel.git
:
git clone --bare /path/to/local/repository /tmp/new-frobnozzel.git
在新创建的裸克隆中,将
remote
更改为新的 github 存储库:
cd /tmp/new-frobnozzel.git
git remote set-url origin [email protected]:bfg/frobnozzel.git
将整个存储库推送到新的远程:
cd /tmp/new-frobnozzel.git
git push --mirror origin
(可选)切换工作存储库以使用新创建的远程存储库作为主要上游,使用:
cd /path/to/local/repository
git remote set-url origin [email protected]:bfg/frobnozzel.git
您可能想要进行初始同步,以确保一切正常 (
git pull
)
顺便说一句,还有一些 Github 文档涵盖了这一点。
答案很简单:在github上创建一个新的存储库(同名)并将本地存储库推送到远程(应该是正确的)
确保你推动一切。