2017-07-06 40 views

回答

1

一般而言,.git文件夹应该只位于项目的根位置(按设计)。但是,存储库可能设置为使用git submodules,这可能会导致子目录拥有自己的.git文件夹。

+1

确实如此,但作为一个附注,最近Git已经开始将子模块'.git' *目录*移动到其他地方,并用'.git' *文件* la git worktree add'替换它们。 (这并不清楚究竟这是什么动机。) – torek

+0

我接受这个答案是因为它在说明git的设计方面的强势地位。此外,它还提供了我描述的场景的可能用例的提示。 – ifelsemonkey

+0

@torek我只是瞥了一眼'git worktree'文档。很有意思。也许'git submodule''s ...特性使他们改变了设计。 – TriskalJM

0

在项目的根目录中有一个唯一的.git目录是一种方便。 .git目录可以位于项目的任何地方(甚至是外部),并且可以通过设置GIT_DIR环境变量来修改.git目录。但是,如果您考虑将其放在项目的子目录中,则非常容易将其删除,如果它位于项目的根目录下,则很难做到这一点。

相关问题