将文本保存到存储库而不创建文件吗?

问题描述

有什么方法可以将回显输出保存到存储库而无需为其创建文件吗? 创建文件后,命令将如下所示:

回显“ hello world”> readme.txt | git add readme.txt

我想在不创建readme.txt文件的情况下向存储库添加“ hello world”。

谢谢。

解决方法

echo "hello world" | git hash-object -w --stdin

git-hash-object-计算对象ID,并根据需要创建一个blob 一个文件

参考:git hash-object

-w

实际上将对象写入对象数据库。

--stdin

从标准输入而不是文件中读取对象。

该命令返回Blob对象的SHA1(对象ID)。您可以使用git show <SHA1>打印其内容。

正如@torek在评论中指出的那样,该对象可能会被丢弃。要保存它,您可以通过git tag <tagname> <SHA1>创建一个引用它的标签。以后,您可以使用标记代替SHA1。