git - Git push 正在重置钩子的权限?
问题描述
我对 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
,它看起来像:
Git push 只有在我做之后才会起作用chmod -R +x hooks
。
但是在 I 之后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
解决方案
推荐阅读
- python - gridSearchCV 性能测量
- php - 为什么我不能将html格式更改为php格式
- javascript - GoogleScript - Google Sheets - 需要修改脚本以跳过任何具有匹配变量的文本行
- javascript - 使用 reactstrap 输入模块的 React ref 没有 Value 道具
- swift - 如何在 Swift 4+ 中解析这个 GTFS 字符串
- python - 没有名为 scipy、spacy、nltk 的模块
- python - 无法在张量流中使用占位符初始化变量
- ios - Swift 如何在 IBaction 之外更改按钮标签?
- c# - Assembly.isDynamic 不包含定义
- java - 如何以编程方式在 Java 中创建 BDE 别名?