是否可以使用JGit的内存中存储库将一个小文件添加到大的Git存储库而无需在本地检出它?

enti

我有一个很大的(几个GB)Git存储库。我希望某些应用程序在该存储库中创建小文件并提交更改。这应该在不检查磁盘上的千兆字节的情况下发生。

我找到了一个JGit代码示例,其中将远程存储库克隆到内存中的存储库中。

我可以使用JGit(如下所示)将文件添加到远程存储库而无需在本地检出文件(即,不将千兆字节的数据传输到将运行该代码的计算机上)吗?

DfsRepositoryDescription repoDesc = new DfsRepositoryDescription();
InMemoryRepository repo = new InMemoryRepository(repoDesc);
Git git = new Git(repo);
git.remoteAdd();
git.commit();

更新1:整个目录的大小(跟踪文件加.git)为1.2G一个人的大小.git是573M。

% du -hs .
1.2G    .
% du -hs .git
573M    .git
勒格

请注意,在RAM中检出将从远程下载完全相同的数据。1,2G克隆完成后,它将仅在RAM中使用,而不是在磁盘上使用

您可能还想了解如何使用JGit api创建和添加“文件”,以查看这是否是将所需数据添加到存储库中的便捷方法。


如果要限制从git服务器下载的内容的数量,可以创建一个浅表克隆。
看到这样的答案例如:

git clone --depth 1 <repo_url> -b <branch_name>

这将下载最新提交的内部文件(您的情况下为500M的压缩版本),并运行此提交的实际签出(500M)。

您可以根据需要在磁盘或RAM上运行它。

在您的情况下,这仍然需要600-700M的使用量,包括在RAM或磁盘中,包括检出的文件,
但它只会下载〜100M (我猜测:通过运行浅表克隆来检查实际大小来自服务器的命令)从服务器获取头提交的压缩版本。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将Git存储库添加到另一个Git存储库的子文件夹中

来自分类Dev

我可以将文件添加到本地Git存储库中,但不能将其推送到远程

来自分类Dev

Git将文件添加到存储库但无法控制它

来自分类Dev

将2个本地位置添加到相同的Git存储库

来自分类Dev

无法将文件添加到git存储库

来自分类Dev

无法将文件添加到Git存储库

来自分类Dev

将文件添加到不准确的git存储库

来自分类Dev

无法将文件添加到git存储库

来自分类Dev

是否可以将敏感配置添加到 heroku.yml 文件并提交到 Heroku 的 GIT 存储库?

来自分类Dev

创建一个远程Git存储库,并使用已经存储在远程位置的文件填充它

来自分类Dev

使用SqLite将存储过程添加到内存数据库中

来自分类Dev

使用SqLite将存储过程添加到内存数据库中

来自分类Dev

如何将远程存储库添加到我自己的git存储库中

来自分类Dev

Git:如何检查新文件是否已添加到远程存储库,而不是本地文件

来自分类Dev

如何使用GitHub API将文件添加到Git存储库?

来自分类Dev

是否可以同时将数据添加到一个数据库中的3个表中

来自分类Dev

当我将文件添加到暂存区时,为什么 Git 会将文件存储在存储库中?

来自分类Dev

恢复一个文件,该文件已在我的本地git存储库中删除

来自分类Dev

将 PPA 添加到本地存储库

来自分类Dev

是否可以将 git 存储库推送到另一个存储库的文件夹(例如,github 页面)?

来自分类Dev

git中是否有一个内置命令来同步和清理本地存储库

来自分类Dev

为什么一个学习练习会警告git commit -am不足以将我的新.gitignore添加到存储库中,即使git清楚地添加了它。

来自分类Dev

是否可以使用jquery将类添加到另一个页面?

来自分类Dev

使用JGit从Git存储库中检出特定修订版

来自分类Dev

如何将本地存储库上的其他文件添加到现有远程存储库

来自分类Dev

将本地GIT存储库添加到Gogs Docker容器

来自分类Dev

Activecollab中是否有一个选项可以将git存储库提交链接到任务注释?

来自分类Dev

Git:保留本地存储库中的更改并在添加到.gitignore后从索引中删除

来自分类Dev

将名为“-”的文件添加到git存储库

Related 相关文章

  1. 1

    将Git存储库添加到另一个Git存储库的子文件夹中

  2. 2

    我可以将文件添加到本地Git存储库中,但不能将其推送到远程

  3. 3

    Git将文件添加到存储库但无法控制它

  4. 4

    将2个本地位置添加到相同的Git存储库

  5. 5

    无法将文件添加到git存储库

  6. 6

    无法将文件添加到Git存储库

  7. 7

    将文件添加到不准确的git存储库

  8. 8

    无法将文件添加到git存储库

  9. 9

    是否可以将敏感配置添加到 heroku.yml 文件并提交到 Heroku 的 GIT 存储库?

  10. 10

    创建一个远程Git存储库,并使用已经存储在远程位置的文件填充它

  11. 11

    使用SqLite将存储过程添加到内存数据库中

  12. 12

    使用SqLite将存储过程添加到内存数据库中

  13. 13

    如何将远程存储库添加到我自己的git存储库中

  14. 14

    Git:如何检查新文件是否已添加到远程存储库,而不是本地文件

  15. 15

    如何使用GitHub API将文件添加到Git存储库?

  16. 16

    是否可以同时将数据添加到一个数据库中的3个表中

  17. 17

    当我将文件添加到暂存区时,为什么 Git 会将文件存储在存储库中?

  18. 18

    恢复一个文件,该文件已在我的本地git存储库中删除

  19. 19

    将 PPA 添加到本地存储库

  20. 20

    是否可以将 git 存储库推送到另一个存储库的文件夹(例如,github 页面)?

  21. 21

    git中是否有一个内置命令来同步和清理本地存储库

  22. 22

    为什么一个学习练习会警告git commit -am不足以将我的新.gitignore添加到存储库中,即使git清楚地添加了它。

  23. 23

    是否可以使用jquery将类添加到另一个页面?

  24. 24

    使用JGit从Git存储库中检出特定修订版

  25. 25

    如何将本地存储库上的其他文件添加到现有远程存储库

  26. 26

    将本地GIT存储库添加到Gogs Docker容器

  27. 27

    Activecollab中是否有一个选项可以将git存储库提交链接到任务注释?

  28. 28

    Git:保留本地存储库中的更改并在添加到.gitignore后从索引中删除

  29. 29

    将名为“-”的文件添加到git存储库

热门标签

归档