- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
有人建议我在远程服务器上设置
foo.com/~/bar.com # live webpage content
foo.com/~/bar.com.git # a bare repo
所以,在我的本地机器上,我可以做一个
git push
它会推送到远程机器上的foo.com/~/bar.com.git
(完整路径是ssh://peter@www.foo.com/~/bar.com.git
如何添加hook,以便在推送之后,远程服务器将cd ~/bar.com
并执行git pull
以便更新所有内容(与本地机器相同)? (不需要像 Mercurial 那样运行 git update
?)
(这与 Cannot git clone a folder on a server and then edit and git push? 有关,现在我可以 ssh 到 foo.com
和 cd ~/bar.com
并在那里等待并执行 git pull
每当从本地机器 git push
之后,但最好自动完成)
更新:请仅在您知 Prop 体细节和操作方法时才发布答案。如果您使用谷歌搜索并在此处发布第一个或第二个谷歌搜索结果,那将无济于事。
更新 2:我去了 ~/bar.com.git/hooks
并添加了一个包含内容的新文件 post-receive
:
#!/bin/bash
cd ~/bar.com
git pull ../bar.com.git master
还有 chmod 755 post-receive
,如果我在本地机器上编辑文件,然后 git com -m "ok"
和 git push
,它不会让更改进入远程计算机的文件夹 ~/bar.com
最佳答案
您可以添加 post-receive
为此 Hook 到 ~/bar.com.git
仓库。为此,将一个可执行文件 post-receive
添加到 ~/bar.com.git/hooks/
目录,内容为:
#!/bin/sh
unset $(git rev-parse --local-env-vars)
cd ~/bar.com
git pull
确保 post-receive
文件具有可执行位(例如 755)。
现在,无论何时将内容推送到 ~/bar.com.git
存储库,~/bar.com
存储库都会自动更新。
另见
理解为什么取消设置一些环境变量是必要的。
关于git - 如何设置 Git 钩子(Hook),以便在推送到 ssh ://peter@foo. com/~/bar.com.git 后,它将转到 ~/bar.com 并执行 git pull?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5769568/
我是一名优秀的程序员,十分优秀!