背景:
我在我的服务器裸仓库上设置了post-receive hook
-rwxrwxr-x 1 midnight midnight 58 Jan 24 19:45 post-receive
$ cat post-receive
GIT_WORK_TREE = /var/www/mongo_conprima git checkout -f
/var/www/mongo_conprima
drwxr-xr-x 3 midnight midnight 4096 Jan 25 08:40 mongo_conprima
Porblem 当我从本地主机推送时出现以下错误
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 228 bytes, done.
Total 2 (delta 1), reused 0 (delta 0)
remote: hooks/post-receive: 1: hooks/post-receive: GIT_WORK_TREE: not found
我想在每次推送服务器[问题]后更新生产目录:git hook to update changes to working directory and bare git directory
答案 0 :(得分:2)
你所拥有的是shell脚本语法问题而不是git问题。
在shell脚本中:
a b c
使用参数a
和b
运行命令c
。即使您将b
替换为=
也是如此,a
仅使用参数=
和c
运行命令GIT_WORK_TREE
。所以这是尝试运行命令=
,带有参数/var/www/mongo_conprima_a
,git
,checkout
,-f
和VAR=value cmd args...
(按此顺序) )。
用于设置环境变量然后运行命令的shell脚本语法是:
=
简而言之,您需要删除{{1}}符号前后的空格。