git add
将文件从工作树复制到索引中。此过程要求文件存在;
git添加
git添加
确实包括两个步骤:
-
目录
文件的。如果文件为空,则进入数据库或已在数据库中的对象具有以下哈希:
$ git hash-object -t blob --stdin < /dev/null
e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
git hash-object
和
-w
标志,它告诉Git在需要时将对象写入数据库,然后返回表示这些内容的哈希ID。
-
现在对象已经在数据库中(如果需要,可以新编写)并且我们有了它的哈希ID,
继续更新索引。此更新包括删除具有相同名称的任何较高阶段条目,并写入阶段零条目。条目内容是所需的
任何一个文件
100644
如果文件应标记为读/写,或
100755
您可以使用
git update-info
,或者
--index-info
(从标准输入读取)或
--cacheinfo
the
git update-index
documentation
.
这样做的问题是
touch file; git add file
那是不是除非你
内容的哈希ID,
和
该哈希ID实际上已经存在于Git数据库中,它仍然需要两个命令:
git hash-object -w ...
git update-index ...
. 在这种情况下,您还不如使用easy命令。
empty tree
,他们没有
最初。)