git animals有这一系列命令:
git init
git add *
git commit -a -m ‘initial commit and release!’
git add *
与git add .
(我通常做的)相比,它们的作用是什么?
git animals有这一系列命令:
git init
git add *
git commit -a -m ‘initial commit and release!’
git add *
与git add .
(我通常做的)相比,它们的作用是什么?
git add *
将添加作为shell扩展结果的所有路径,*
而git add .
将告诉 git 添加当前目录。
git add *
不会添加以 a 开头的路径,.
因为 shell 扩展*
将这些路径视为“隐藏”路径。
git add *
如果任何扩展路径当前被 git 忽略,也会失败,因为如果您明确指定忽略的路径而不传递-f
(force) 标志以表明您确实想要添加忽略的路径,git 会认为这是一个错误。
如果您让 git 扩展 glob ( git add '*'
),它将添加“隐藏”文件并跳过被忽略的文件。它的工作原理与git add .
这种情况相同。
默认情况下,将目录传递给git add
将递归地添加其子目录和文件。
通配符*
将由您的 shell 扩展为当前目录下的文件名。
而且你知道,在 Unix 中.
只指当前目录,所以这两个命令是等价的。虽然*
由shell.
处理并由git处理,但它们做同样的事情。