我希望自动将提交的文件复制到某个文件夹,以便可以在浏览器中查看它们,但我希望在不创建镜像主存储库(如here所示)的空存储库的情况下做到这一点,并且我希望这在提交时发生。
有没有什么简单的方法可以创建一个钩子来读取已经提交的文件,并在实时way服务器上复制/更新它们?
例如:我有一个名为/example.com的文件夹和一个git存储库。我希望当我在存储库中提交index.html时,/example.com中相应的index.html文件会用提交的文件的内容进行更新
发布于 2011-10-03 23:24:06
这样做的一个好方法是创建一个运行git checkout -f
的post-commit
,并将工作树设置为web服务器公开的目录,将git目录设置为开发存储库中的.git
目录。例如,您可以创建一个执行以下操作的.git/hooks/post-commit
文件:
#!/bin/sh
unset GIT_INDEX_FILE
export GIT_WORK_TREE=/example.com/
export GIT_DIR=/home/whoever/development/web-project/.git/
git checkout -f
但是要注意这一点- -f
意味着git可能会删除或覆盖文件,以使/example.com/
与您最近提交的树相匹配。
(记住还要将.git/hooks/post-commit
文件设为可执行文件。)
https://stackoverflow.com/questions/7633299
复制相似问题