这个问题出于好奇而不是任何实际问题,但是我可以有效地将我的$ GIT_DIR设为git://example.com/repo.git/吗?所以没有.git文件夹 - 每次提交等都会经历网络开销.
编辑:一个潜在的用例可能是尝试做一个简单的"导出",如svn,但事实证明这个问题在这里得到解答
$GIT_DIR,于 2005 年 5 月推出,适用于:
SHA1_FILE_DIRECTORY(was GIT_OBJECT_DIRECTORY,即“ $GIT_DIR/objects”)GIT_INDEX_FILE(“ $GIT_DIR/index”)当 GIT_DIR 未定义时,默认为“ .git”。
它是当前工作目录的绝对路径或相对路径,而不是 http 或 git 绝对路径。
受到 Junio C. Hamano这篇文章的启发:
某些命令在后一种情况下将不起作用。
例如,“ ”(代表一种将您当前所在的工作树部分与给定树git diff <one-tree>进行比较的方法)将失败。
注意:这与“”不同,后者对索引执行相同的操作。
使用这些命令(以及其他在没有工作树外部运行时出错的命令),您确实应该位于您感兴趣的子目录中。git diffGIT_DIR