我试图设置Git来升级我的网站,这样我就可以通过git pull来获取当前版本在本地工作,然后通过git push将更改git push送到远程服务器。 我已经设置好了,以便按照我想要的方式工作,但是在推送之后,我必须在远程服务器上手动运行git checkout -f或git reset –hard HEAD 。 我已经尝试把这些放在shell脚本中作为服务器上的post-receive钩子,但是它似乎没有任何作用。 我知道脚本正在运行,因为我看到“推送到服务器的变化”,我推。 这是后接收钩: #!/bin/sh git reset –hard HEAD echo "Changes pushed to server."