鍍金池/ 教程/ Java/ 撤銷本地更改
創(chuàng)建沖突
暫存更改
創(chuàng)建項目
Git 內(nèi)幕:.git 目錄
撤銷本地更改
移動文件
移除 oops 標簽
何為 Origin
再談結(jié)構(gòu)
撤銷暫存的更改
修正提交
別名
檢查狀態(tài)
給版本打標簽
撤銷提交的更改
拉下共享的更改
變基
暫存與提交
合并
合并拉下的更改
更改而非文件
更改原始倉庫
重置 master 分支
回顧克隆的倉庫
變基 VS 合并
共享倉庫
導航分支
重置 greet 分支
添加跟蹤的分支
獲得舊版本
克隆倉庫
Git 內(nèi)幕:直接處理 Git 對象
再談設置
遠程分支
從分支移除提交
合并回 master
查看分叉的分支
添加遠程倉庫
拉下更改
歷史
在 master 中更改
裸倉庫
做更改
高級/將來的主題
推送更改
多個倉庫
設置
提交更改
取得更改
托管你的 Git 倉庫
創(chuàng)建分支
解決沖突

撤銷本地更改

目的

學習如何還原工作目錄中的更改。

檢出 Master

在處理之前確認你在 master 中的最新提交上。

$ git checkout master

更改 hello.rb

有時候你修改了本地工作目錄中的文件,且想要還原已經(jīng)提交的內(nèi)容。checkout 命令可以用來處理這種情況。

更改 hello.rb 讓其具有錯誤的注釋。

# This is a bad comment.  We want to revert it.
name = ARGV.first || "World"

puts "Hello, #{name}!"

檢查狀態(tài)

首先,檢查工作目錄的狀態(tài)。

$ git status
$ git status
# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   hello.rb
#
no changes added to commit (use "git add" and/or "git commit -a")

我們看到 hello.rb 已被修改,但還沒有暫存。

還原工作目錄中的更改

使用 checkout 命令來檢出 hello.rb 在倉庫中的版本。

$ git checkout hello.rb
$ git status
$ cat hello.rb
$ git checkout hello.rb
$ git status
# On branch master
nothing to commit (working directory clean)
$ cat hello.rb
# Default is "World"
name = ARGV.first || "World"

puts "Hello, #{name}!"

status 命令顯示在工作目錄中沒有未完成的更改。而且“錯誤的注釋”也不再成為文件內(nèi)容的一部分。

上一篇:給版本打標簽下一篇:移除 oops 標簽