根据我所遇到的研究,他们似乎都在做同一件事。从git文档中,git-add将文件内容添加到索引中,而git update-index“注册”它。不确定注册的含义以及与add有何区别。
作为面向用户的(或porcelain)命令,git add
具有许多面向用户的功能,包括:
git update-index
不使用或不接受路径规范,但是git add
则使用,因此,例如git add :(attr:text)/
仅会在.gitattributes
中添加专门标记为“文本”的文件。-a
,-A
,--ignore-removal
,-u
等。--patch
或-p
选项,它调用一个单独的Perl程序,该程序在文件的索引和工作树副本之间创建差异,并允许您选择和选择该差异的一部分以应用于索引。 >毫无疑问,这里没有涵盖其他内容,并且随着时间的流逝将会越来越多。同时,作为plumbing命令,git update-index
具有不适合人类直接使用的功能,例如将文件放入特定暂存槽的功能。