Git远程钩子没有承诺
我试图在Rails上连接一个远程控制器来自动将更改推送到这个EC2。 我的遥控器看起来像这样。
pd ssh and then location ending in /eko_web.git (fetch)
pd same (fetch)
钯指向一个裸git回购。 它有一个post-receive钩子:
#!/bin/sh
GIT_WORK_TREE=/home/repo/eko_web git checkout -f
当我在本地
git push pd production
然后去我的工作树,我看到所有的文件,但他们没有被添加或提交。 如果在该树中添加并提交所有这些文件,然后在EC2上重新启动服务器,则可以在我的网站上看到更改。 但是必须有一种方法可以自动添加和提交,而不需要重新启动服务器,最好反映我从本地推送的分支上的提交历史记录。
在推送文件之前,您需要在本地提交文件,否则您将无法在远程存储库中看到它们。 从您的顶级工作目录。
git commit -a .
或者如果它是新文件,您需要先添加它们。
git add <file or directory>
git commit
然后你推:
git push pd production
通常,您需要重新启动或重新加载服务器以使更改生效。 如果你想优雅地做,意味着你没有连接被丢弃,最好重新加载(这通常会向进程发送一个HUP信号,并告诉它有一个配置改变)你可以将它添加到你的后接收钩,如下所示:
sudo service apache2 reload
要么
sudo service nginx reload
链接地址: http://www.djcxy.com/p/18919.html
上一篇: Git Remote Hook Not Commiting
下一篇: Git reset and delete branch not reverting back properly