【发布时间】:2017-08-08 23:29:30
【问题描述】:
我正在尝试了解如何(以及如果可能的话)仅从 Git 中的remote 复制特定目录的特定文件。 (对继续处理这些文件或获取历史记录不感兴趣)
例如,假设远程 master 分支包含(以及许多其他)名称为 \src 的目录,其中有 .cpp 和 .h 文件。怎么可能只获取所有标头 .h 文件的副本?
当然,我正在研究是否存在一种不会导致重新编写 repo 或任何其他不良副作用的方法。很简单,只从远程获取一些指定文件的本地副本。
我考虑过git archive 和sparse-checkout,但不知道是否可以使用它们来实现我的目标。
【问题讨论】:
-
我读过其他答案,人们清楚地指出稀疏结帐不能用于此 (stackoverflow.com/a/14527198/3286832)
-
Git 不存储变更集(即颠覆),而是提交(表示某个时间点所有目录和文件的完整状态。
-
@AnoE 那么,是否可以在 Git 中仅从远程克隆特定文件?
-
@Yannis,不,评论的那部分很好。 ;) 我已经添加了答案。
-
您只需要获取文件的副本还是要继续处理它们并提交并推回存储库?
标签: git git-clone git-archive git-sparse-checkout