我在本地推送后使用钩子git拉上服务器

时间:2017-07-06 08:36:45

标签: git githooks

我正在使用html&本地css文件。在我git push将文件发送到我的服务器后(进入我使用mkdir bare_repos/mysite && cd bare_repos/mysite && git init --bare创建的裸目录)之后,我不想将ssh插入服务器,进入我的{{1} }目录并键入~/public_html/mysite。我认为钩子应该这样做,但我不知道怎么做?

git pull目录中的文件是:bare_repos/mysite/hooks/

我应该编辑哪个文件以及应该添加哪些文件?我希望能够从我的本地计算机上推送,然后只需从浏览器中查看网站上的更改(无需ssh')

2 个答案:

答案 0 :(得分:1)

您需要在裸存储库中启用updatepost-receive挂钩。搜索一些示例:post-receiveupdate

例如,必须将挂钩命名为updatepost-receive(不是update.samplepost-receive.sh。它们也必须是可执行的。

答案 1 :(得分:1)

我按照说明here。我创建了一个post-receive文件并添加了:

#!/bin/sh
GIT_WORK_TREE=/home/username/public_html/mysite git checkout -f

然后我将其设为可执行文件(chmod +x post-receive

现在当我git push时,我的网站会自动显示更改。