1
什么情况下(除.gitignore之外)git commit -a
不会自动实现git add
unstaged文件?我通常使用这个来保存一个步骤,但最近在我的一个回购协议中,我必须明确提出git add
之前的文件或他们不包括在内。没有.gitignore
文件会阻止自动添加它们。文件是chmod a + x的事实是否有问题?不知道这会有所作为。git commit -a -m不会添加不固定的文件
什么情况下(除.gitignore之外)git commit -a
不会自动实现git add
unstaged文件?我通常使用这个来保存一个步骤,但最近在我的一个回购协议中,我必须明确提出git add
之前的文件或他们不包括在内。没有.gitignore
文件会阻止自动添加它们。文件是chmod a + x的事实是否有问题?不知道这会有所作为。git commit -a -m不会添加不固定的文件
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
。
啊,这回答,谢谢。 – johnbakers
请注意,通过忽略机制忽略的文件只有在未跟踪时才会被忽略。如果一个文件被忽略,已经存在于repo中或被强制添加('git add -f'),它将被忽略。 (我知道这部分已经在上面的答案了,只是试图在这里完成。:-)) – torek