git没有.git文件夹 - 一个远程git-dir

Ale*_*ird 6 git

这个问题出于好奇而不是任何实际问题,但是我可以有效地将我的$ GIT_DIR设为git://example.com/repo.git/吗?所以没有.git文件夹 - 每次提交等都会经历网络开销.

编辑:一个潜在的用例可能是尝试做一个简单的"导出",如svn,但事实证明这个问题在这里得到解答

Von*_*onC 3

$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 diff
GIT_DIR