Git 取消已经暂存的文件

接下来的两个小节将演示如何取消暂存区域中的文件,以及如何取消工作目录中已修改的文件。

不用担心,查看文件状态的时候就提示了该如何撤消,所以不需要死记硬背。来看下面的例子,有两个修改过的文件,我们想要分开提交,但不小心用 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