如何在另一个仓库推送到远程仓库后自动更新本地仓库?

4

我在E盘上有N+2个代码库:

  1. Test_central - 中央代码库;
  2. Test_primary1 - 本地代码库;
  3. Test_primaryN - 本地代码库;
  4. Test_slave - 本地代码库。

当Test_primaryI将自己的更改推送到Test_central后,如何更新Test_slave?

P.S.:所有代码库都在同一驱动器上,仅用于测试。


这不是 N+2 个代码库吗?只是说一下! - Shahbaz
有什么区别吗?逻辑并没有改变,但感谢您的纠正。 - dsm
我知道。只是忍不住要说一句;) - Shahbaz
1个回答

5
您需要在Test_slave存储库中钩入其中一个可用的钩子。请查看此处(链接)。只需编写一个执行您想要的操作的脚本,将其命名为.git/hooks文件夹中的正确名称,并使其可执行即可。
为了使事情变得简单易行,示例脚本已经提供在hooks文件夹中。只需从您想要使用的钩子的.sample文件中删除.sample扩展名,然后编辑脚本以适应您的需求即可。

2
请注意,您需要将钩子放在初始接收存储库“Test_central”或发送存储库“Test_primaryX”中。您不能将它们放在“Test_slave”中 - 因为从“Test_primary”推送到“Test_central”永远不会触及“Test_slave”,因此它不知道要触发任何钩子。 - Michael Anderson
我尝试更改Test_central的hook post-update.sample,但是没有任何变化。脚本:#!/bin/sh cd e:\Test_slave\ || exit unset GIT_DIR git pull origin masterexec git-update-server-info - dsm

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