$ git status -s
M README
MM Rakefile
A lib/git.rb
M lib/simplegit.rb
?? LICENSE.txt
输出结果有两列 - 左边的列指暂存区的状态,右边的列指工作树的状态。例如,在该输出中,README文件在工作目录中被修改但尚未暂存,而lib/simplegit.rb文件被修改并已暂存。 Rakefile被修改、暂存,然后再次修改,因此对它进行了既暂存又未暂存的更改。
以上内容摘自Scott Chacon和Ben Straub编写、Apress出版的《Pro Git》。
我对暂存区和工作树之间的区别感到困惑。我将解释我所相信的事实。
“README文件在工作目录中被修改但尚未暂存”:我们没有跟踪这个文件。但是,Git知道它已被修改,从上一个快照开始。
“lib/simplegit.rb文件被修改并已暂存”:修改后,我们已经将文件暂存。现在只需提交即可。
“Rakefile被修改、暂存,然后再次修改,因此对它进行了既暂存又未暂存的更改。”:与前一个文件一样,我们已经暂存了修改后的文件。接下来做什么?