11

我有以下问题。我已将“接收后”更新为 cd 到某个目录,然后将 repo 拉入以部署它,如下所示:

#!/bin/bash
cd /var/www/site
git pull origin master

但是,每当我在本地机器上执行“git push origin master”时,我都会得到以下信息:

Counting objects: 5, done.
Delta compression using up to 2  threads.
(etc..)
remote: fatal: Not a git repository: '.'

然而,当我手动 cd/var/www/site并执行git pull origin master它时,它工作得很好。

4

2 回答 2

17

使用未设置的 GIT_DIR 如下

#!/bin/bash
cd /var/www/site || exit
unset GIT_DIR
git pull origin master
exec git-update-server-info

您可以在此处查看有关GIT_DIR的更多信息。 Git 热爱环境

于 2012-03-28T10:51:42.327 回答
3

另一种选择是您可以在命令中提及工作目录和 git 目录。

git --work-tree=/home/user/repos/my_app --git-dir=/home/user/repos/my_app/.git <command>

例如:

git --work-tree=/home/user/repos/my_app --git-dir=/home/user/repos/my_app/.git status
于 2013-08-24T10:46:12.763 回答