Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何更改用--bare启动的git回购中的设置_Git - Fatal编程技术网

如何更改用--bare启动的git回购中的设置

如何更改用--bare启动的git回购中的设置,git,Git,我已经建立了一个回购协议来处理一个实时网站。在远程服务器上,我执行了以下操作: git init --bare cat > hooks/post-receive #! /bin/sh GIT_WORK_TREE=/var/www/dev git checkout -f 因此,我将其配置为可以将本地repo推送到www/dev文件夹。现在我想将这些更改推送到实时站点。我已经将hooks/post-receive文件中GIT_-WORK_树设置的路径更改为新文件夹,但是当我推送到这个repo

我已经建立了一个回购协议来处理一个实时网站。在远程服务器上,我执行了以下操作:

git init --bare
cat > hooks/post-receive
#! /bin/sh
GIT_WORK_TREE=/var/www/dev git checkout -f
因此,我将其配置为可以将本地repo推送到www/dev文件夹。现在我想将这些更改推送到实时站点。我已经将hooks/post-receive文件中GIT_-WORK_树设置的路径更改为新文件夹,但是当我推送到这个repo时,这并没有执行,它仍然会更新原始路径上的文件夹


如何让repo看到新配置?

检查post-receive钩子是否可执行,GIT\u-WORK\u树中的目录是否可写入执行GIT-push的用户


挂接脚本以查看是否执行了挂接。

已解决
hooks/post-receive
是不可执行的,所以我运行了
chmod+x hooks/post-receive
,现在它可以正常工作。

您可以手动(使用例如
vim
)文件hooks/post-receive,并确保路径正确并指向新文件夹,这就是我所做的(我将更新post以使其更清晰),但它似乎没有识别出来,这意味着post-receive钩子没有运行,可能是因为没有将其设置为可执行文件。例如,如果您使用
sh hooks/post receive
手动运行一次,它看起来已经准备好了,但实际上还没有准备好。谢谢,我运行了
chmod+x hooks/post receive
,现在已经更新了。
echo 'In post receive hook'