git push是否正在重置钩子的权限?

时间:2019-02-25 19:31:33

标签: git

我是git的新手,但是我试图设置git来将网站部署到服务器上。

我在服务器上创建了一个名为etw.git的裸仓库,并在post-receive内创建了hooks,它具有以下内容:

#!/bin/sh git --work-tree=/home/username/www --git-dir=/home/username/www/etw.git checkout -f

我创建了一个名为etw.git的本地存储库,并将其初始化。

然后我做了git remote add live ssh://username@mydomain.com:18765/home/username/www/etw.git

我的问题是,当我执行git push live master时会成功,但是只有在执行git push live master之前,我使用chmod -R +x hooks来修改以下文件的权限时,更新的文件才会显示在我的网站上我的/home/username/www/etw.git/hooks文件夹。

在使用chmod之前,hooks的外观如下: enter image description here

一旦我完成chmod -R +x hooks,它就会看起来像: enter image description here

只有在执行chmod -R +x hooks之后,Git push才起作用。

但是在我git push live master之后,权限被重置(返回到第一张图像),我必须再次执行chmod -R +x hooks,然后再进行一次推送。

当推送到服务器时,它还会推送所有4000多个对象,而不仅仅是修改的对象。这需要很长时间。

最后,在推送到服务器后,我的post-receive丢失了#,它变成了:

!/bin/sh git --work-tree=/home/username/www --git-dir=/home/username/www/etw.git checkout -f

0 个答案:

没有答案