GOALS
- Learn how to revert changes that have been staged
Change the file and stage the change01
Modify the hello.rb file to have a bad comment
FILE: hello.rb
# This is an unwanted but staged comment
name = ARGV.first || "World"
puts "Hello, #{name}!"
And then go ahead and stage it.
EXECUTE:
git add hello.rb
Check the Status02
Check the status of your unwanted change.
EXECUTE:
git status
OUTPUT:
$ git status # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # modified: hello.rb #
The status output shows that the change has been staged and is ready to be committed.
Reset the Staging Area03
Fortunately the status output tells us exactly what we need to do to unstage the change.
EXECUTE:
git reset HEAD hello.rb
OUTPUT:
$ git reset HEAD hello.rb Unstaged changes after reset: M hello.rb
The reset command resets the staging area to be whatever is in HEAD. This clears the staging area of the change we just staged.
The reset command (by default) doesn’t change the working directory. So the working directory still has the unwanted comment in it. We can use thecheckout command of the previous lab to remove the unwanted change from the working directory.
Checkout the Committed Version04
EXECUTE:
git checkout hello.rb
git status
OUTPUT:
$ git status # On branch master nothing to commit (working directory clean)
And our working directory is clean once again.
reference:http://gitimmersion.com/lab_15.html
本文介绍如何使用Git撤销已暂存的文件更改,包括如何查看暂存区的状态、撤销暂存区的更改以及如何检查文件的已提交版本。
1508

被折叠的 条评论
为什么被折叠?



