我们有一个位于独立服务器上的中央Git仓库。所有团队成员都将其克隆到本地机器并进行了拉取/推送操作以访问中央仓库。
不幸的是,带有中央仓库的机器已经崩溃且无法恢复。
现在,我们如何使用开发人员机器上的克隆副本重新构建一个中央仓库,并将不同克隆仓库中的本地更改与此重建的中央仓库同步?
感谢您的帮助。
不幸的是,带有中央仓库的机器已经崩溃且无法恢复。
现在,我们如何使用开发人员机器上的克隆副本重新构建一个中央仓库,并将不同克隆仓库中的本地更改与此重建的中央仓库同步?
感谢您的帮助。
中央仓库并没有什么特殊之处,所以这实际上很容易实现:
只需初始化一个新的空中央仓库。如果它与旧仓库具有相同的URL,则您的开发人员甚至不需要添加新的远程仓库。
然后让一位开发人员进行git push
。这将导致在该开发人员的机器上启用了远程跟踪的所有分支都被恢复到中央仓库。
然后其他人可以像往常一样拉取和推送。其他开发人员拥有但尚未在中央仓库上的远程跟踪分支将在此过程中被恢复。
如果有人拥有一个没有远程跟踪但仍应恢复到中央仓库的分支,则该开发人员需要git checkout
该分支,然后git push origin HEAD
(假设origin是中央仓库)。