这有点奇怪,所以我在我的远程git repo hook脚本中收到了这一行:
cd /path/to/my/deployed/app
git reset --hard
rm files/.development
从我的本地机器上我推送到我的git repo - 这就是奇怪的。那些在我的post-receive结束时的行是在我的本地机器上执行的,而不是在我的远程服务器中执行的?
显然我最终得到了这个错误:
MacBook-Air:$ git push to-my-deployed-app
Counting objects: 23, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (16/16), done.
Writing objects: 100% (16/16), 2.56 KiB, done.
Total 16 (delta 11), reused 0 (delta 0)
remote: warning: updating the current branch
remote: fatal: Not a git repository: '.'
remote: rm: cannot remove `files/.development': No such file or directory
所以......很奇怪......
答案 0 :(得分:4)
为什么你认为它在本地运行?每个错误前的前缀remote:
表示它来自远程。从这些错误中,看起来您的存储库的路径是错误的。实际上,如果您尝试在钩子所在的存储库中运行git reset --hard
,则不需要更改目录 - 钩子的当前工作目录无论如何都将是该存储库的顶级。