我的当前工作流程设置在我的 Web 服务器上带有一个 git repo,并带有一个 post-receive 钩子,用于检查我的分支master及其staging各自的文件夹,master作为我的实时站点和staging我的暂存站点。
一切都很好,直到我重命名一个文件,如果我将一个文件夹js更改javascript为例如,当挂钩检查我的分支时,它将创建该文件夹javascript但保留该文件夹js及其之前提交的内容。我确定 git 已经检测到文件已被重命名,因为当我在本地签出分支时,文件已经消失了。
这是我的接收后挂钩:
#!/bin/sh
GIT_WORK_TREE=/var/www/mysite/live git checkout -f master
GIT_WORK_TREE=/var/www/mysite/staging git checkout -f staging