如何备份Git服务器?

9

如何备份Git服务器? 当Git服务器出现故障时,我该如何将本地仓库推送到新的Git服务器?

2个回答

12

你可以使用:

git bundle

这样做有以下好处:

  • 你只需要移动一个文件到备份服务器
  • 你实际上可以将这个文件用作“源”仓库,从中像普通的Git仓库一样拉取/推送数据。

第一次备份时,你将创建一个完整的bundle文件:

$ git bundle create /tmp/foo-all --all

1
我认为无论是克隆、捆绑还是其他任何git命令都不能获取到所有内容(例如服务器端钩子)。如果你想确保获取到所有内容,需要进行正常的基于文件的复制服务器存储库目录。 - Zitrax
@Zitrax 我同意。钩子不应该在同一个git存档中获取或备份,因为它们可能是本地的,只适用于使用repo的位置。我会单独备份它们。但如果这些钩子不是问题,那么整个存档的tar文件确实足够了。 - VonC

2

您可以像备份其他服务器一样进行备份,只需镜像文件即可。Git将其元数据存储在类似其他文件的文件中。如果要将存储库移动到新计算机上,则需要更改本地存储库的原始指向。在.git/config中,您会找到以下内容:

[remote "origin"]
url = SOMETHING

SOMETHING更改为您的新服务器的地址


非常感谢!如何将我的备份文件设置为新的git服务器并保留git日志? - Jackson

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