我从“计算机1”更新了“repo”。在“repo”上,post-receive
挂钩成功触发git checkout -f
对“计算机2”的更改。
现在,在“计算机2”上,我想在上述结账完成后触发一个钩子。我在“计算机2”上尝试了post-receive
和post-checkout
挂钩,但没有成功。不是火。我可以在“计算机2”上使用哪种钩子?
答案 0 :(得分:0)
您不能只git checkout -f
,因为这意味着 repo1 将其内容转储到repo2工作树上:
# repo1 post-receive hook
GIT_WORK_TREE=/path/to/repo2 git checkout -f
您需要repo2
来提取repo1内容以更新其(repo2
)内容。
此外,repo2
启动更新的事实意味着其他repo2挂钩将有机会依次被触发。
# repo1 post-receive hook
GIT_DIR=/path/to/repo2/.git
GIT_WORK_TREE=/path/to/repo2 git pull repo1