接下来的两个小节将演示如何取消暂存区域中的文件,以及如何取消工作目录中已修改的文件。
不用担心,查看文件状态的时候就提示了该如何撤消,所以不需要死记硬背。来看下面的例子,有两个修改过的文件,我们想要分开提交,但不小心用 git add . 全加到了暂存区域。
该如何撤消暂存其中的一个文件呢?其实,git status 的命令输出已经告诉了我们该怎么做:
[code] git add .
git status
On branch master
Changes to be committed:
(use “git reset HEAD …” to unstage)
modified: README.txt
modified: benchmarks.rb[/code]
就在 “Changes to be committed” 下面,括号中有提示,可以使用 git reset HEAD … 的方式取消暂存。好吧,我们来试试取消暂存 benchmarks.rb 文件:
[code] git reset HEAD benchmarks.rb
Unstaged changes after reset:
M benchmarks.rb
git status
On branch master
Changes to be committed:
(use “git reset HEAD …” to unstage)
modified: README.txt
Changes not staged for commit:
(use “git add …” to update what will be committed)
(use “git checkout – …” to discard changes in working directory)
modified: benchmarks.rb[/code]
这条命令看起来有些古怪,先别管,能用就行。现在 benchmarks.rb 文件又回到了之前已修改未暂存的状态。
REF:http://cwiki.ossez.com/pages/viewpage.action?pageId=7045478