ILD

git add
作者:Herbert Yuan 邮箱:yuanjp@hust.edu.cn
发布时间:2018-5-16 站点:Inside Linux Development

将文件内容添加到索引。


基本语法:

1
git add [-n] [<pathspc>...]


描述:

这个命令使用工作区的内容更新索引,来准备一下次提交暂存的内容。它通常使用已存在路径的所有内容作为一个整体添加,但是也可以使用相关选项来添加一部分内容。

索引(index)存储了工作区的快照。这个快照用来做下一次commit。

git add命令默认不添加忽略的文件。如果忽略的文件在命令行显式地指定,git add将失败。但是通过目录递归或者问价名通配找到的忽略文件将被忽略,而不产生错误。git add使用-f选项,可以添加忽略的文件。


选项:

<pathspec>...

要添加的文件,fileglobs (e.g. *.c)用来添加所有匹配的文件。如果是一个目录,则目录作为一个整体而更新,修改的文件将被添加,新的文件将被添加,删除的文件,将从index删除。注意:老版本的Git忽略删除的文件,使用--no-all选项来只添加修改的和新的文件,而忽视删除的文件。

注意:至少需要指定一个路径,git不会自动使用当前路径。


-n

--dry-run

不实际添加,只是显示是否存在或者是否被忽略。


-f

--force

允许添加被忽略的文件。


-u

--update

更新索引,这里的更新的意思是不添加,pathspec中的被tracking的文件,如果修改了将被添加,如果被删除了,将从index中删除。如果没有指定pathspec,则所有工作区被tracked的文件被更新。相当于指定当前目录。


-A

-all

--no-ignore-removal

更新索引,更新那些索引中有的,以及<pathspec>指定的。这将添加、修改、移除索引条目来匹配工作区。

如果没有指定<pathspec>,工作区的所有文件被更新。


--no-all

--ignore-removal

根据<pathspec>更新索引(添加或更新)。但是如果tracked的文件从索引中删除,忽略之。


-N

--intent-to-add

记录我将要添加这个文件,这个操作将添加一个没有内容的条目。便于我们使用git diff等命令。

总结

Git version 2.x

enter image description here


参考:

https://stackoverflow.com/questions/572549/difference-between-git-add-a-and-git-add




Copyright © linuxdev.cc 2017-2024. Some Rights Reserved.