Git如何从克隆副本重建丢失的中央仓库

3
我们有一个位于独立服务器上的中央Git仓库。所有团队成员都将其克隆到本地机器并进行了拉取/推送操作以访问中央仓库。
不幸的是,带有中央仓库的机器已经崩溃且无法恢复。
现在,我们如何使用开发人员机器上的克隆副本重新构建一个中央仓库,并将不同克隆仓库中的本地更改与此重建的中央仓库同步?
感谢您的帮助。
1个回答

7

中央仓库并没有什么特殊之处,所以这实际上很容易实现:

只需初始化一个新的空中央仓库。如果它与旧仓库具有相同的URL,则您的开发人员甚至不需要添加新的远程仓库。

然后让一位开发人员进行git push。这将导致在该开发人员的机器上启用了远程跟踪的所有分支都被恢复到中央仓库。

然后其他人可以像往常一样拉取和推送。其他开发人员拥有但尚未在中央仓库上的远程跟踪分支将在此过程中被恢复。

如果有人拥有一个没有远程跟踪但仍应恢复到中央仓库的分支,则该开发人员需要git checkout该分支,然后git push origin HEAD(假设origin是中央仓库)。


谢谢 Carl。那我们不同的分支怎么办?我们需要逐个将它们推送到远程仓库(中央仓库)吗,还是有任何自动化的方式? 此外,我们刚刚发现了中央仓库虚拟机的备份,其中具有相同的仓库但不是最新的。简单的推送是否足够解决问题? - Saim
修改了我的回答以涵盖额外的分支。 - Carl-Eric Menzel
关于过时的备份:是的,一个简单的推送应该可以完美地让您更新。 - Carl-Eric Menzel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接