有没有办法将数据流式传输到GIT而不是传入文件名?

cmd*_*tos 3 c c# java git

我们希望将文件系统中不存在的文档(它们在数据库中)流式传输到GIT中.由于有数千个文档,我们不想在磁盘上创建它们.

我们知道我们可以使用GIT Blob类从GIT流式传输文档.

我们希望实际提供树/路径和文件名以及任何其他属性,但文件实际上不存在.GIT本身在某个时刻(当它读取文件时)将数据流式传输到自身并以某种方式存储文件属性数据.

我知道如何在GIT中添加文件,我想用流代替接口.

这可能是使用C,C#还是Java?

CB *_*ley 5

你可以用hash-object.

gitid=$(echo hello world | git hash-object -w --stdin)
Run Code Online (Sandbox Code Playgroud)

这将gitid根据echo命令的输出设置为新blob对象的git id .

然后,您可以git update-index使用此blob添加索引条目,并commit在git存储库中创建包含新blob的提交对象.

git update-index --add --cacheinfo 100644 "$gitid" new-blob.txt

git commit -m "new commit"
Run Code Online (Sandbox Code Playgroud)