Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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
我能否仅从github克隆元数据/版本跟踪文件夹_Git_Github - Fatal编程技术网

我能否仅从github克隆元数据/版本跟踪文件夹

我能否仅从github克隆元数据/版本跟踪文件夹,git,github,Git,Github,我的项目是在许多GBs。我只需要git日志。理想情况下,只要我能获取跟踪版本的.git文件夹就足够了。你可以使用git-clone来实现这一点——bare这正是你获取或克隆repo时复制的内容。那么文件的内容从哪里来?从签出master或签出的任何分支。然后,与您要签出的版本相关联的树(从获取的对象数据库)扩展到您的工作树。我不需要签出master或任何分支,更不用说未更改的文件,我甚至不需要在git diff中找到的信息,我只需要不需要文件内容的git日志。我不需要任何文件中的任何信息。是的,

我的项目是在许多GBs。我只需要
git日志
。理想情况下,只要我能获取跟踪版本的
.git
文件夹就足够了。

你可以使用
git-clone来实现这一点——bare

这正是你获取或克隆repo时复制的内容。那么文件的内容从哪里来?从签出master或签出的任何分支。然后,与您要签出的版本相关联的树(从获取的对象数据库)扩展到您的工作树。我不需要签出
master或任何分支
,更不用说未更改的文件,我甚至不需要在
git diff
中找到的信息,我只需要不需要文件内容的git日志。我不需要任何文件中的任何信息。是的,但重要的是要注意,
.git/
文件夹不仅仅是元数据,它还包含存储库的完整历史记录。每个文件的每个版本。如果存储库有很多GB,那么
.git/
文件夹可能也有很多GB。但是被克隆的大小仍然是一样的(对于我来说是很多GB)@ishandutta2007,问题是你问了两个不同的问题。“只有元数据”和“版本跟踪文件夹”是不同的东西。ack_inc正确回答了第二部分。我认为您的核心误解是认为您可以在没有存储库副本的情况下执行
git log
。你不能。@Chris:是的,这是我的理解,如果你能详细说明并帮助我理解,那就太好了。@ishandutta2007,我不知道还有什么要说的。
.git/
目录包含存储库的整个历史记录,而不仅仅是元数据。它可以用于从repo中存在的任何提交、分支或标记生成工作副本。因此,它必须包含每个文件的每个提交版本的内容。没有办法只克隆元数据。关于重复问题的公认答案谈到了
ls remote
,但我认为这对您没有帮助。我想你只能忍受回购的规模。