我的当前工作流程设置在我的 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