在git add
命令中,我使用.
和*
添加工作目录中的所有文件。
他们之间有什么区别?
答案 0 :(得分:6)
这些都不是git
概念:
.
表示当前工作目录。因此,如果您说,例如,git add .
,您的意思是“git,请将当前工作目录添加到暂存区域以进行当前更改”。大多数其他命令以同样的方式处理.
:cd .
将无处移动。
*
是 shell glob 。这个特殊的glob被扩展为“所有文件”。所以当你说git add *
时,首先发生的是你的shell(你输入命令的程序)将它扩展为当前位置的每个文件和目录,然后git
获得那个列表。因此,git
命令甚至根本看不到*
- 它只是看到您想要add
当前工作目录中的所有内容。
净效果基本相同:工作目录中的所有内容都会被添加。然而,它发生的方式完全不同。 git add .
可能就是你想做的事情 - 它在幕后所做的更接近你的意图。