2014-01-16 36 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