15. Git 撤銷暫存的更改

2018-08-04 14:19 更新

目的

學(xué)習(xí)如何還原已經(jīng)暫存的更改。

更改文件并暫存更改

修改 hello.rb 文件來包含一個錯誤的注釋。

# This is an unwanted but staged comment
name = ARGV.first || "World"

puts "Hello, #{name}!"

然后去暫存它。

$ git add hello.rb

檢查狀態(tài)

檢查你不想要的更改狀態(tài)。

$ git status
$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   modified:   hello.rb
#

status 輸出顯示更改已被暫存且準(zhǔn)備提交。

重置暫存區(qū)

幸運(yùn)的是 status 輸出告訴我們?nèi)∠麜捍娓臅r需要做什么。

$ git reset HEAD hello.rb
$ git reset HEAD hello.rb
Unstaged changes after reset:
M   hello.rb

reset 命令重置 HEAD 中暫存區(qū)的內(nèi)容。這將清除我們已經(jīng)暫存 的更改。

reset 命令(默認(rèn))不會更改工作目錄。所以在工作目錄中仍然 有不想要的注釋。我們可以使用之前實(shí)驗(yàn)中的 checkout 命令來 從工作目錄移除不想要的更改。

檢出提交的版本

$ git checkout hello.rb
$ git status
$ git status
# On branch master
nothing to commit (working directory clean)

現(xiàn)在我們的工作目錄又變干凈了。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號