我正在尝试创建一个更新后脚本并将 git 用作远程服务器上的部署工具。
我的更新后脚本看起来像这样
git update-server-info
for ref in $@;do
echo $ref
if [ "$ref" = "refs/heads/production" ]
then
ssh git@myProductionServer.com GIT_WORK_TREE=/home/www/test git checkout -f production
fi
done
但是,当我运行它时,会返回一个错误,上面写着:
Not a git repository (or any of the parent directories): .git
这没有任何意义,因为我可以通过 ssh 从目录中运行 git 命令。
在我的更新后脚本中我还需要做些什么吗?
解决方案
我添加了GIT_DIR
变量,所以现在我的命令如下所示:
ssh git@myProductionServer.com GIT_DIR=/home/www/test/.git GIT_WORK_TREE=/home/www/test git checkout -f production