我有两个非裸git存储库,一个是我开发的本地机器,另一个是服务器上的,我构建的。在本地存储库中,我有一个带有“git push -f server”的post-commit钩子。每次我在本地计算机上提交时,都会将更改推送到服务器。 不幸的是,在远程git阶段“恢复”我的更改。我必须手动在服务器上执行“git reset HEAD --hard”,这非常烦人。如何告诉git接受更改而不进行恢复或如何在服务器上自动重置?我试图在服务器上添加一个post-receive挂钩,但它不起作用。
我发现了类似的问题How do I push to the current git branch on remote, and have changes reflected immediately?,但没有帮助(
答案 0 :(得分:0)
您可以选择:
HEAD
,如“Using Git to manage a web site”中所述并在“{{3}中引用” }”。$ cat > hooks/post-receive #!/bin/sh GIT_WORK_TREE=/var/www/www.example.org git checkout -f $ chmod +x hooks/post-receive
我倾向于采用第二种方法,这似乎比在非裸存储库上直接更改HEAD
更“干净”。