gpt4 book ai didi

git - 如果 '/' 是存储库的根目录,为什么 git 会中断?

转载 作者:太空狗 更新时间:2023-10-29 13:10:38 26 4
gpt4 key购买 nike

我们想使用 git 来维护系统配置。因为有时配置数据存在于/etc 之外,所以我们已经开始在我们的系统上做这样的事情:

  # cd /
# git init
# git add etc
# git add some/other/path
# git commit -m 'initial import'

等等。这在一定程度上是有效的。只要你的 cwd == '/',git 就会正常运行。但是,例如,如果您尝试从子目录中运行 git:

cd /etc
git status

你得到垃圾。在我们的案例中,数千行“已删除:”文件列表显然仍然存在。这种行为似乎是在/中运行 git 所独有的;在其他任何地方做同样的事情都很好。

我可以像这样“修复”这个行为:

GIT_WORK_TREE=/ git status

嘿,一切都按照 Linus 的预期进行……但这很痛苦。我不想单方面在环境中设置它(因为这会与在其他存储库中使用 git 发生冲突),我想避免使用包装脚本。我还有其他选择吗?

最佳答案

这是一个完整的猜测,您可以用来进一步调查,但我怀疑 git 的“查找 .git 目录”行为与以下事实相互作用:/ 是它自己的父目录。也许“停在根部”逻辑有一个栅栏类型的错误。

关于git - 如果 '/' 是存储库的根目录,为什么 git 会中断?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1950346/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com