我想跟踪一个使用git的项目.我不想克隆完整的存储库和完整的历史记录,我只想要最新版本,我希望能够从远程项目更新到新版本.
我尝试过使用git clone,但这会创建整个存储库的副本(文件大小很大),并且跟踪更改会使磁盘空间更大(100mb的文件现在占用超过2gb).
我不打算提交补丁,我不需要历史记录.我只想要像颠覆这样的最新版本.
这可能在git中吗?
Gre*_*ill 508
使用以下--depth选项git clone:
创建一个浅层克隆,其历史记录被截断为指定的提交数.
例: git clone --depth=1 <remote_repo_url>
Jak*_*ski 75
git clone --depth=1 <URL>如果远程端支持浅层克隆()的替代解决方案,则使用git archive--remote选项:
$ git archive --format=tar --remote=<repository URL> HEAD | tar xf -
Run Code Online (Sandbox Code Playgroud)
或者,如果有问题的远程存储库可以使用某些Web界面(如gitweb或GitHub)进行浏览,那么它有可能具有"快照"功能,您可以从Web界面下载最新版本(无版本控制信息).
小智 23
如今,在大多数情况下不推荐浅克隆。
虽然,对于您提到的用例(下载最新版本并且不再接触它),git clone --depth=1可以工作,但在更一般的情况下,它可能会产生问题。例如,如果您想让克隆与上游保持同步,git fetch则浅克隆的成本要高得多。
如果您想要下载更少的数据,则部分克隆更适合一般情况:
git clone --filter=tree:0 <url>
Run Code Online (Sandbox Code Playgroud)
这仍然会下载提交历史记录,但不会下载以前提交的文件树和文件内容。获取上游提交仍然很便宜。
| 归档时间: |
|
| 查看次数: |
122296 次 |
| 最近记录: |