请注意,建议的解决方案(2012 年,预 Git 2.5,将于 2015 年 7 月发布)不能直接使用git config
命令。
它会继续死亡:
fatal: core.bare and core.worktree do not make sense.
这就是 Git 2.5(2015 年 7 月)将解决的问题:
请参阅Jeff King ( )的commit fada767(2015 年 5 月 29 日) 。(由Junio C Hamano 合并 -- --在提交 103b6f9中,2015 年 6 月 16 日)peff
gitster
setup_git_directory
:延迟core.bare
/core.worktree
错误
如果两者core.bare
都core.worktree
设置了,我们会抱怨虚假配置并死掉。
死是好的,因为它可以避免命令运行并在可能不正确的设置中造成损坏。
但是死在那里是不好的,因为这意味着甚至不关心工作树的命令无法运行。
这会使修复情况变得更加困难:
[setup]
$ git config core.bare true
$ git config core.worktree /some/path
[OK, expected.]
$ git status
fatal: core.bare and core.worktree do not make sense
[Hrm...]
$ git config --unset core.worktree
fatal: core.bare and core.worktree do not make sense
[Nope...]
$ git config --edit
fatal: core.bare and core.worktree do not make sense
[Gaaah.]
$ git help config
fatal: core.bare and core.worktree do not make sense
取而代之的是,当我们注意到虚假配置时(即,对于所有命令),让我们发出关于虚假配置的警告,但仅在命令尝试使用工作树时(通过调用 setup_work_tree)死亡。
所以我们现在得到:
$ git status
warning: core.bare and core.worktree do not make sense
fatal: unable to set up work tree using invalid config
$ git config --unset core.worktree
warning: core.bare and core.worktree do not make sense