如何在 JGit 中实现稀疏结帐?
Posted
技术标签:
【中文标题】如何在 JGit 中实现稀疏结帐?【英文标题】:How do I implement sparse checkout in JGit? 【发布时间】:2013-01-02 16:00:59 【问题描述】:我需要在 Github 存储库中拉取特定子目录的内容并将其放在我自己的目录下。经过大量研究,似乎稀疏的结帐是要走的路。但是,我有点不确定,如何使用 JGit 来实现它。
【问题讨论】:
这可能是不可能的。有一个没有活动的开放错误:bugs.eclipse.org/bugs/show_bug.cgi?id=383772 在***.com/a/29777848/125617中查看答案 【参考方案1】:1) 您不能只克隆 repo 的一部分——例如,带有 lib
和 Tests
的 repo,但您只想克隆 lib
部分。
2) 您可以使用“git clone --depth DEPTH ...”仅克隆 DEPTH 修订版,但您仍然可以获得整个 repo,而不是所有修订版。 (还有其他限制,请先man git-clone
。)
3)您可以执行git clone --bare ...
,然后只签出您需要的文件(您所说的“稀疏签出”)。 (唉,这个方法的步骤比这两个要多……)
请注意,在 (3) 中,除非您添加 --depth DEPTH
参数,否则您仍将获得来自原始存储库的所有历史记录。
【讨论】:
问题是关于 JGit 的。以上是关于如何在 JGit 中实现稀疏结帐?的主要内容,如果未能解决你的问题,请参考以下文章