Git使用单个命令添加所有未暂存/未跟踪的文件

时间:2019-07-26 07:49:10

标签: git


请原谅新手问题。我正在寻找一种快速但安全的选项,以一个命令添加所有未暂存/未跟踪的文件(由“ git status”返回)。从项目根目录使用它是否安全:

git add *

有什么缺点吗? 谢谢

2 个答案:

答案 0 :(得分:2)

*是由Shell扩展的通配符。它不会匹配“隐藏”文件(名称以.开头的文件),并且如果当前目录中的文件太多而无法在命令行上显示,则会失败。

没有这些缺点的解决方案是:

git add .

之所以可行,是因为git递归地添加目录的内容,因此告诉它添加.(当前目录)会添加所有内容。

另一个差异与.gitignore模式有关。如果当前目录中有一个文件与.gitignore中的模式匹配,那么git add .只会静默忽略它。但是shell通配符不了解.gitignore,因此,当您执行git add *时,被忽略的文件将被明确添加到git add命令中,这将导致git add失败,错误。

答案 1 :(得分:1)

使用git add .代替git add *

git add .会将所有本地未跟踪文件添加到暂存区域,并根据.gitignore进行过滤。

但是git add *将忽略.gitignore来添加每个文件。