致命:此操作必须在工作树中运行[重复]
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 子目录中。一旦我退出它,一切正常。以上是关于致命:此操作必须在工作树中运行[重复]的主要内容,如果未能解决你的问题,请参考以下文章
错误不断崩溃 E/AndroidRuntime:致命异常:主要 [重复]