如何在 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 的一部分——例如,带有 libTests 的 repo,但您只想克隆 lib 部分。

2) 您可以使用“git clone --depth DEPTH ...”仅克隆 DEPTH 修订版,但您仍然可以获得整个 repo,而不是所有修订版。 (还有其他限制,请先man git-clone。)

3)您可以执行git clone --bare ...,然后只签出您需要的文件(您所说的“稀疏签出”)。 (唉,这个方法的步骤比这两个要多……)

请注意,在 (3) 中,除非您添加 --depth DEPTH 参数,否则您仍将获得来自原始存储库的所有历史记录。

【讨论】:

问题是关于 JGit 的。

以上是关于如何在 JGit 中实现稀疏结帐?的主要内容,如果未能解决你的问题,请参考以下文章

在神经网络中实现稀疏连接(Theano)

如何在 laravel 中实现诸如 Fiverr 之类的信用卡和贝宝交易

如何在 JGit 中合并?

如何在与 JGit 合并之前获得冲突?

如何在 JGit 中重命名文件

如何使用 JGit 获取提交的文件列表