2012-06-28 40 views
1

我更新了“计算机1”的“回购”。在“回购”上,post-receive钩子成功触发git checkout -f对“计算机2”的更改。在客户端发起git钩子

现在,在“计算机2”上面,我想在上面的结帐完成后发射一个钩子。我试过“计算机2”上的post-receivepost-checkout挂钩,但未成功。都不会发生。我可以在“计算机2”上使用哪种钩子?

回答

0

你不能只是git checkout -f,因为这意味着repo1倾销其对repo2工作树内容:

# repo1 post-receive hook 
GIT_WORK_TREE=/path/to/repo2 git checkout -f 

你需要的是repo2,以便更新其(repo2)含量拉repo1内容。
另外,repo2启动更新的事实意味着其他repo2挂钩将有机会依次触发。

# repo1 post-receive hook 
GIT_DIR=/path/to/repo2/.git 
GIT_WORK_TREE=/path/to/repo2 git pull repo1