致命:此操作必须在工作树中运行[重复]

Posted

技术标签:

【中文标题】致命:此操作必须在工作树中运行[重复]【英文标题】:fatal: This operation must be run in a work tree [duplicate] 【发布时间】:2012-03-04 23:44:53 【问题描述】:

当我尝试更改分支时出现此错误。

可能我会在

处提供一些命令信息
/path/to/git/repo/.

根据命令:

git branch

我得到以下输出

* V1.5
  V2.0
  master

当我尝试命令时

git checkout V2.0

我得到以下输出:

fatal: This operation must be run in a work tree

配置文件内容:

cat config 
[core]
        repositoryformatversion = 0
        filemode = true
        bare = true
[remote "origin"]
        url = /path/to/git/repo/.git

【问题讨论】:

看来你有一个裸仓库。裸仓库没有工作树,所以 git checkout 对它们没有意义。 【参考方案1】:

您的存储库是裸露的,即它没有附加工作树。您可以在本地克隆它以为其创建工作树,或者您可以使用其他几个选项之一来告诉 Git 工作树在哪里,例如单个命令的--work-tree 选项,或GIT_WORK_TREE 环境变量。还有core.worktree 配置选项,但它不能在裸存储库中工作(查看手册页了解它的作用)。

# git --work-tree=/path/to/work/tree checkout master
# GIT_WORK_TREE=/path/to/work/tree git status

【讨论】:

嗯...通过使用--work-tree 选项,通过设置GIT_WORK_TREE 环境变量,或者通过设置core.worktree 配置选项。我有似曾相识的感觉。 工作树必须存在,否则失败 我的反对意见是告诉我们 /what/ 我们可以做什么,而不是 /how/ 去做。 Git 对于偶尔的用户来说是出了名的讨厌,我们来找找方法。 工作树到底在哪里? 我知道这是一个旧线程,但对我来说问题是我在 .git 子目录中。一旦我退出它,一切正常。

以上是关于致命:此操作必须在工作树中运行[重复]的主要内容,如果未能解决你的问题,请参考以下文章

运行c ++程序时vc ++中的致命错误[重复]

每5秒钟对指定的数字重复此操作,并且必须检查整个阵列

错误不断崩溃 E/AndroidRuntime:致命异常:主要 [重复]

Swift 错误 - 致命错误:在展开可选值时意外发现 nil [重复]

致命错误:凭证缓存不可用;没有Unix套接字支持[重复]

常量表达式包含无效操作[重复]