背景:
我想从 Git 中的特定修订中检索文件。以前我使用git show
此线程中描述的方法使用命令:如何从 Git 中的特定修订中检索单个文件?意义:
git show HEAD2:file.txt
但是,基于我在另一篇文章中解释的问题:Read both binary and text from process output我无法从git show
的输出中读取二进制数据。在 SO 用户的建议下,我迁移到JGit作为 Java 的本机实现。我在 SO 上找到了这个线程,它描述了如何使用 JGit API 从特定修订版中检索文件。 如何在 JGit 中“cat”一个文件?
问题:
性能对我的项目非常重要。因此,我正在寻找检索文件的最佳方法。上面描述的 API 方法似乎在树中导航并获得正确的修订。考虑到我可以在 Git 中使用单个命令来检索文件,我不确定哪个更快。
- 我应该使用为 JGit 描述的方法还是应该使用
git show
命令? - JGit有更好的解决方案吗?