我在 Dreamhost 上有一个帐户,他们有关于使用 Git 跟踪自定义 WordPress 主题中的文件的说明。他们的指示,在,https://help.dreamhost.com/hc/en-us/articles/227816388-Using-Git-with-DreamPress,与许多其他建议相同的网站相同。例如,http://git-memo.readthedocs.io/en/latest/deploy.html
您将可执行脚本放入裸存储库中hooks/post-receive
目录,它调用 git“checkout -f”。这是示例脚本
#!/bin/sh
GIT_WORK_TREE=/home/user/theme-directory git checkout -f
这是我不明白的地方。为什么要“结帐-f”?这只会更改正在跟踪的分支的名称,不会使其更新。难道不应该拉(或获取)新内容吗?结帐的力量是否比我想象的更强大?
post-receive
is a 服务器端钩子将在以下时间执行git push
.
因此不需要拉取:客户端推送一些内容,然后在服务器上签出。
为什么要“结帐-f”?
First, "checkout -f
“ 实际上是checkout -f @
, or checkout -f HEAD
:它会检查 HEAD 现在是什么(推送后)。
其次,--force option即使索引或工作树与 HEAD 不同,也确保切换分支成功(它会成功,因为推送刚刚更改了所述 HEAD)
但我会尝试
GIT_WORK_TREE=/home/user/theme-directory git checkout -f -- .
那是:指定路径规范,这将通过替换索引或(最常见的是提交,此处:HEAD,在推送后刚刚更改)中的内容来覆盖工作树中的路径。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)