Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.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 - Fatal编程技术网

使用git获取最新版本

使用git获取最新版本,git,Git,我想跟踪一个使用git的项目。我不想克隆完整的存储库和完整的历史记录,我只想要最新的版本,我希望能够从远程项目更新到新的版本 我曾尝试使用git clone,但这会创建整个存储库的副本(巨大的文件大小),跟踪更改会使磁盘空间更大(100mb的文件现在占用2gb以上) 我不会提交补丁,也不需要历史记录。我只想要像subversion一样的最新版本 这在git中可能吗?将--depth选项设置为1以创建一个浅层克隆,其历史记录被截断为最新提交 例如: git clone --depth 1 http

我想跟踪一个使用git的项目。我不想克隆完整的存储库和完整的历史记录,我只想要最新的版本,我希望能够从远程项目更新到新的版本

我曾尝试使用git clone,但这会创建整个存储库的副本(巨大的文件大小),跟踪更改会使磁盘空间更大(100mb的文件现在占用2gb以上)

我不会提交补丁,也不需要历史记录。我只想要像subversion一样的最新版本

这在git中可能吗?

--depth
选项设置为
1
以创建一个浅层克隆,其历史记录被截断为最新提交

例如:

git clone --depth 1 https://github.com/user/repo.git
git clone --depth 1 --recurse-submodules --shallow-submodules https://github.com/user/repo.git
若要初始化和更新任何嵌套的子模块,请同时传递
--递归子模块
,若要浅层克隆它们,请同时传递
--浅层子模块

例如:

git clone --depth 1 https://github.com/user/repo.git
git clone --depth 1 --recurse-submodules --shallow-submodules https://github.com/user/repo.git

进行浅层克隆(
git clone--depth=1
)的替代解决方案是,如果远程端支持它,则使用以下选项的
--remote

$git archive--format=tar--remote=HEAD | tar xf-

或者,如果远程存储库可以使用一些web界面进行浏览,如gitweb或GitHub,那么它有可能具有“快照”功能,您可以下载最新版本(无版本控制信息)从web界面。

示例:
git clone--depth=1
因为在git 1.9中这些限制已经不存在了。有什么限制?@Triangles:limitions(不再是最新的):浅存储库有很多限制(您不能克隆或从中获取,也不能从中推送或插入),但是,如果您只对具有长期历史的大型项目的最近历史感兴趣,并且希望以补丁的形式发送修复程序,那么这就足够了。Git 1.9/2.0(2014年第1季度)选项将更有效地使用浅层克隆:尽管此解决方案无法满足此要求:“我希望能够从远程项目更新到新的修订版本”。由于它基本上是下载归档文件,因此无法快速进行一两次提交。“浅克隆”允许这样做。不过,我想这个解决方案也有它的使用案例,所以值得一提。