【发布时间】:2010-09-13 03:31:09
【问题描述】:
我没有本地代码副本/等,我只想下载一个特定的 git 提交以便查看它。我有 git 存储库的 url:
git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.git
和提交哈希:
ee9c5cfad29c8a13199962614b9b16f1c4137ac9
如何使用 git 下载这个提交(我不想要整个 repo,只需要一个提交补丁)?我已经阅读了 git-pull 和 git-cherry-pick 的手册页,并且没有运气地摆弄这些命令。
克隆存储库确实不是一种选择,因为某些内核存储库非常大并且下载速度很慢(数小时)。
【问题讨论】:
-
出于多种原因(速度/效率和脚本是主要的),我想从命令行执行此操作。
-
提交本质上是一个差异。您要查看差异还是查看树?
-
@Daenyth:这实际上不是真的。在 git 中,提交反映了一个完整的树,而不仅仅是与父级的差异。
-
@poke:实际上,据我了解,提交对象确实引用了差异——但它也引用了应用差异后的树对象。我对 git 内部知识的了解并不完美,所以我不确定。无论如何,这个问题仍然需要 OP 回答。
-
@Daenyth:git 不存储差异(同样,它不使用 delta storage),只存储结果树的快照。当您请求两次提交之间的更改时,会即时计算差异。
标签: git