Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git工作树不是存储库_Git_Githooks - Fatal编程技术网

git工作树不是存储库

git工作树不是存储库,git,githooks,Git,Githooks,我正在尝试为live web服务器设置远程回购。我被教导的设置方法是在hooks目录中创建一个post-receive文件,如下所示: #!/bin/sh git --work-tree=/var/www/domain.com --git-dir=/var/repo/site.git checkout -f 使live web文件夹中没有git文件夹 但是,如果我将文件添加到工作树中,我就无法将这些文件添加到我的git repo中。它说:致命的:不是git存储库(或任何要装载的父级) 首先,我

我正在尝试为live web服务器设置远程回购。我被教导的设置方法是在hooks目录中创建一个post-receive文件,如下所示:

#!/bin/sh
git --work-tree=/var/www/domain.com --git-dir=/var/repo/site.git checkout -f
使live web文件夹中没有git文件夹

但是,如果我将文件添加到工作树中,我就无法将这些文件添加到我的git repo中。它说:致命的:不是git存储库(或任何要装载的父级)

首先,我意识到这可能不是一个好主意,但我喜欢我的托管服务有一键式安装选项,这使得设置WordPress变得简单


有没有办法将这些文件添加到git中?

任何使用选项
--work tree
--git dir
(如
--work tree=/var/www/domain.com--git dir=/var/repo/site.git
)的命令都会检测/添加或提交这些文件

例如:

git --work-tree=/var/www/domain.com --git-dir=/var/repo/site.git status

这将根据裸repo
/var/repo/site.git

/var/www/domain.com工作树中的任何修改,或者,如果您要在该存储库中执行大量操作,请设置环境变量GIT_DIR和GIT_WORK_TREE以节省键入时间。

从GIT version 2.17.1开始,工作树文件夹包含一个小的
.GIT
文件,其中包含:

gitdir:/parent/.git/worktrees/此树名的路径

请注意,在本例中,指定了绝对路径。如果此路径因某种原因无效(可能是您移动了文件夹),则会出现以下错误:

致命:不是git存储库

通过实验,我确定这可能是一条相对路径,不太容易出错

在任何情况下,此错误消息的通用解决方案都是确保
.git
gitdir:
指向父
.git
文件夹中的有效工作树文件夹,无论该文件夹位于何处

I在正常情况下,应将其设置为:


gitdir:...git/worktrees/此树名

啊,谢谢。成功了。现在我必须弄清楚如何编辑env变量,这样我就不必像Andrew C建议的那样键入太多的变量了抱歉,
git 2.17.1版正好是我测试的版本。我不知道这项功能是什么时候推出的——也许它一直都存在。