git add
-u
参数表示只添加暂存区已有的文件(包括删除操作),但不添加新增的文件。
-A
或者--all
参数表示追踪所有操作,包括新增、修改和删除。
-f
参数表示强制添加某个文件,不管.gitignore
是否包含了这个文件。
$ git add -f <fileName>
-p
参数表示进入交互模式,指定哪些修改需要添加到暂存区。即使是同一个文件,也可以只提交部分变动。
通过git add
这个命令,工作区里面那些新建或修改过的文件,会加入目录,文件名是文件内容的 SHA1 哈希值。git add
命令同时还将这些文件的文件名和对应的哈希值,写入.git/index
文件,每一行对应一个文件。
下面是.git/index
文件的内容。