我在Windows XP下运行Git Bash和GUI,因此是在一个mingw环境中。
我用vi创建了两个文件,a和b,添加了它们,然后提交了它们。然后我再次修改了两者,然后使用gitbash添加了a而不是b。git GUI验证了a是暂存的,但不是b。
接下来我键入以下内容:
git commit -m "Staged a, not b, committing with * file specifier" *
Git GUI表示两者都已提交。
我重复了这个实验,但使用GUI尝试提交。它只提交了一个文件
*文件说明符有问题吗?
简短回答:是。
更长的答案是:是的,因为您告诉git提交您指定的文件,而不是让它提交已经暂存的更改。
从git提交man page
:
<文件>…
当在命令行中给定文件时,该命令将提交命名文件的内容,而不记录更改上演。这些文件的内容也会暂存到下一个在之前已上演的基础上进行承诺。