Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
没有.git文件夹的git--一个远程git目录_Git - Fatal编程技术网

没有.git文件夹的git--一个远程git目录

没有.git文件夹的git--一个远程git目录,git,Git,问这个问题更多是出于好奇,而不是出于任何实际目的,但我能有效地使用$GIT_DIR吗git://example.com/repo.git/ ? 因此没有.git文件夹——每一次提交等都会占用网络开销 编辑: 一个潜在的用例可能是尝试执行一个简单的“导出”,如svn,但事实证明,这个问题已经得到了回答,$GIT_DIR,用于: 同时指定SHA1\u文件目录(wasGIT\u对象目录,即“$GIT\u目录/objects”) GIT\u INDEX\u文件(“$GIT\u DIR/INDEX”)

问这个问题更多是出于好奇,而不是出于任何实际目的,但我能有效地使用$GIT_DIR吗git://example.com/repo.git/ ? 因此没有.git文件夹——每一次提交等都会占用网络开销

编辑: 一个潜在的用例可能是尝试执行一个简单的“导出”,如svn,但事实证明,这个问题已经得到了回答,

$GIT_DIR
,用于:

  • 同时指定
    SHA1\u文件目录
    (was
    GIT\u对象目录
    ,即“
    $GIT\u目录/objects
    ”)
  • GIT\u INDEX\u文件
    (“
    $GIT\u DIR/INDEX
    ”)
未定义GIT_DIR时,它默认为“
.GIT

它是指向当前工作目录的绝对路径或相对路径,而不是http或git绝对路径

受此启发:

某些命令在后一种情况下不起作用。
例如,“
git diff
”(表示用给定树区分当前工作树部分的方法)将失败。
注意:这与“
git diff
”不同,后者对索引的作用相同。
有了这些命令(以及其他在工作树之外没有
GIT_DIR
的情况下运行时出错的命令),您就可以真正进入感兴趣的子目录。
.

不,不可能有远程$GIT_DIR(也不可能在
.GIT/objects/info/alternates
中有远程存储库)。Git就是不能这样工作

我假设,如果你问这个问题,你可能是在试图制造一个要解决的问题

试想一下,为什么您需要一个单一的git存储库,人们可以直接从自己的远程机器读写,并尝试将其添加到问题中,因为在整个世界上,您似乎都在尝试使用git-like SVN。而那将在痛苦中结束

首先,如果您不想仅仅为了创建上游补丁而制作一个完整的深镜像,请注意:

--深度

创建一个浅层克隆,其历史记录被截断为指定的修订数。浅滩 存储库有很多限制(您不能克隆或从中获取,也不能从中推送或导入) 但是,如果您只对具有 历史悠久,希望以补丁的形式发送修复程序。 (
git帮助克隆


正如其他人所指出的,Git不是以这种方式编写的。但是,我认为您可以在网络挂载上安装.git目录。也许您可以将远程服务器装载为文件系统,如NFS或。这并不像您希望的那样一般,但可能适用于某些情况。

可能的(迟钝但功能性)解决方案:远程挂载您想要使用的目录,并将您的.git目录软链接到挂载点。

您的问题措辞可怕,语法也很难让我知道答案,但我不明白这个问题,我真的同意。我现在已经改写了它,希望能更好:)它并没有那么不合理。Git面临的一个难题是大量的超大文件和大量的历史更改。也就是说,.git/目录非常大——比工作副本大得多(可能)。例如,.git可能无法安装在笔记本电脑硬盘上,但工作副本可能无法安装。此外,海报中从未提到共享远程存储库(这将是一个问题),我必须同意@Pat Notz的观点。我担心你会急于判断这是一个“X Y”问题。记住,仅仅因为你不能想象一个用例并不意味着它不存在。但是你的答案非常有用,因为Git不支持这个特性。