假设我在自己的托管服务器上有一个裸 Git 存储库,供多人克隆、推送和拉取。需要哪些命令才能使这样的存储库进入执行快照的状态,如以下链接中关于应用程序一致性备份所述?
我设想在锁定时需要 Git 命令执行以下任务:
- 禁止其他用户的推送。
- 允许任何当前发生的推送完成。
我设想在解锁时需要 Git 命令来执行以下任务:
- 恢复允许其他用户的推送。
对于数据库等应用程序来说,似乎需要应用程序一致性,其中需要一些静止时间以及受控的锁定和解锁,以使应用程序进入准备执行快照的状态。
我在这里并不是问这样的活动对于 Git 是否有必要;我认为这更多的是一种观点而不是事实。
我在这里要问的是,为了支持服务器上 Git 存储库的应用程序一致性备份,哪些 Git 命令是必要的以及按照什么顺序执行。
答案1
- Git 确实不是有任何用于锁定|解锁存储库工作流的命令(因为不支持此模型任何其他分布式视频控制系统
- 术语“*-一致性备份”(两种形式)不适用于 repo-data - 它是只是数据在一些州…或者任何州,也许
- Git 是基于事务的,因此,所有“正在进行”的操作在完整事务完成之前都不存在
- 1-3 的结果:简单的
git clone
|git pull
(用于新的|现有的 fork)就足以让你获得对 SRC 存储库的 HEAD 修订版的一致备份(及时)