我是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 -R +x hooks
,它就会看起来像:
只有在执行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