2014-01-16 61 views
1

什麼情況下(除.gitignore之外)git commit -a不會自動實現git add unstaged文件?我通常使用這個來保存一個步驟,但最近在我的一個回購協議中,我必須明確提出git add之前的文件或他們不包括在內。沒有.gitignore文件會阻止自動添加它們。文件是chmod a + x的事實是否有問題?不知道這會有所作爲。git commit -a -m不會添加不固定的文件

回答

4

git commit -a永遠不會添加未跟蹤文件。它添加了修改的文件和刪除的文件。

git help commit

-a, --all 
    Tell the command to automatically stage files that have been 
    modified and deleted, but new files you have not told Git about are 
    not affected. 

文件通過.gitignore忽略不包括在內,也不是通過.git/info/exclude忽略的文件。任何一種情況下的文件都必須明確添加git add -f

+0

啊,這回答,謝謝。 – johnbakers

+0

請注意,通過忽略機制忽略的文件只有在未跟蹤時纔會被忽略。如果一個文件被忽略,已經存在於repo中或被強制添加('git add -f'),它將被忽略。 (我知道這部分已經在上面的答案了,只是試圖在這裏完成。:-)) – torek