2011-03-23 65 views
1

有時候我喜歡在OS X Finder中移動大量文件,刪除一些,添加一些,修改一些 - 超過30個更改。我需要通過和「git rm」去掉每個文件,然後將每個文件移動到「git mv」之後當我不確定是否「rm'd」或「mv'd」,我沒有得到Bash完成,因爲文件已經沒有了。告訴Git:我喜歡這個

當我完成了這個,我想能夠對Git說:我喜歡這樣,讓我們​​承諾所有這些變化。

有沒有辦法做到這一點?

+4

你的意思是'git commit -a'? – KingCrunch 2011-03-23 00:31:03

+0

是的!我不敢相信我沒有想到看到提交的manpage(我認爲這是在提交之前需要採取的行動)。發佈它作爲答案,我會給你點。 – terrace 2011-03-23 00:34:12

回答

7

使用git add -A添加更改,然後git commit提交它。

git commit -a相比,這將真正採用工作樹。它將處理新的,移動和重命名的文件,而git commit -a不會。 git commit -a忽略新文件並將移動和重命名的文件視爲刪除文件(因爲新位置中的文件被視爲新文件,這些文件被忽略)。

1

我認爲你可以做

git add . 

要添加的所有新文件(即使已經被移動的那些)。並且

git add -u . 

對於那些已被刪除(或移動)的。

Git會自行找出那些被移動的。我會很驚訝,沒有辦法將它組合成一個單一的命令,但這就是我通常所做的...