2011-02-05 128 views
1

在我的Git倉庫中,我更改了一些文件。我想把他們全部展開。但是有沒有命令之間的區別:Git commit命令

git add file1.php file2.php 

git add . 

第二個命令階段只修改文件,或項目中的所有文件?或者這些命令是平等的?

回答

7

git add file1.php file2.php階段文件file1.phpfile2.php

git add .階段目錄和所有子目錄中的所有文件,包括未提交的文件。 (只要它們不被你的.gitignore忽略)

然而,任何一個命令只會在文件被修改時纔會暫存。

+0

你的最後一句話是有點誤導。更準確地說,暫存未修改的文件是無操作的:暫存區域已隱含地包含未修改的版本。此外,這兩個命令也將階段* new *文件。 – Cascabel 2011-02-06 03:30:25

1

如果file1.phpfile2.php是唯一已更改或未跟蹤的文件,則兩個命令是等效的,因爲無論如何都不會對未更改的文件進行暫存。

0

正如塞巴斯蒂安P.所解釋的,這些命令不是等價的。

到舞臺的所有修改過的文件,你可以使用git add -u

此外,爲迅速提交所有修改過的文件,你可以使用git commit -a這相當於git add -u ; git commmit