从我遇到的研究中,他们似乎都在做同样的事情。从 git 文档中,git-add 将文件内容添加到索引中,而 git update-index 会"注册"它。不确定注册是什么意思以及它与添加有何不同。
作为一个面向用户(或瓷器(的命令,git add
具有许多面向用户的功能,包括:
-
Pathspec参数:
git update-index
不使用或接受pathspecs,但git add
使用,因此git add :(attr:text)/
只会添加.gitattributes
中专门标记为"文本"的文件。 - 选项
-a
、-A
、--ignore-removal
、-u
等。 - 一种交互模式(我从未使用过,也从未掌握过窍门(。
--patch
或-p
选项,它调用一个单独的 Perl 程序,该程序在文件的索引和工作树副本之间创建差异,并允许您选取该差异的一部分以应用于索引。
毫无疑问,这里没有涉及其他内容,并且随着时间的推移会更多。 同时,作为管道命令,git update-index
具有不适合人类直接使用的功能,例如将文件放入特定暂存槽的能力。