4 Git 基礎 撤消操作

2021-09-08 05:13:04 字數 2114 閱讀 9535

任何時候,你都有可能需要撤消剛才所做的某些操作。接下來,我們會介紹一些基本的撤消操作相關的命令。請注意,有些撤銷操作是不可逆的,所以請務必謹慎小心,一旦失誤,就有可能丟失部分工作成果。

--amend

$ git commit --amend
此命令將使用當前的暫存區域快照提交。如果剛才提交完沒有作任何改動,直接執行此命令的話,相當於有機會重新編輯提交說明,但將要提交的檔案快照和之前的一樣。

啟動文字編輯器後,會看到上次提交時的說明,編輯它確認沒問題後儲存退出,就會使用新的提交說明覆蓋剛才失誤的提交。

--amend

$ git commit -m 'initial commit'

$ git add forgotten_file

$ git commit --amend

上面的三條命令最終只是產生乙個提交,第二個提交命令修正了第乙個的提交內容。

git add .

$ git add .

$ git status

on branch master

changes to be committed:

(use "git reset head ..." to unstage)

modified: readme.txt

modified: benchmarks.rb

git reset head ...
$ 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

這條命令看起來有些古怪,先別管,能用就行。現在 benchmarks.rb 檔案又回到了之前已修改未暫存的狀態。

如果覺得剛才對 benchmarks.rb 的修改完全沒有必要,該如何取消修改,回到之前的狀態(也就是修改之前的版本)呢?git status

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

在第二個括號中,我們看到了拋棄檔案修改的命令(至少在 git 1.6.1 以及更高版本中會這樣提示,如果你還在用老版本,我們強烈建議你公升級,以獲取最佳的使用者體驗),讓我們試試看:

$ git checkout -- benchmarks.rb

$ git status

on branch master

changes to be committed:

(use "git reset head ..." to unstage)

modified: readme.txt

可以看到,該檔案已經恢復到修改前的版本。你可能已經意識到了,這條命令有些危險,所有對檔案的修改都沒有了,因為我們剛剛把之前版本的檔案複製過來重寫了此檔案。所以在用這條命令前,請務必確定真的不再需要保留剛才的修改。如果只是想回退版本,同時保留剛才的修改以便將來繼續工作,可以用下章介紹的 stashing 和分支來處理,應該會更好些。

--amend

Git 基礎 撤消操作

任何時候,你都有可能需要撤消剛才所做的某些操作。接下來,我們會介紹一些基本的撤消操作相關的命令。請注意,有些撤銷操作是不可逆的,所以請務必謹慎小心,一旦失誤,就有可能丟失部分工作成果。有時候我們提交完了才發現漏掉了幾個檔案沒有加,或者提交資訊寫錯了。想要撤消剛才的提交操作,可以使用 amend選項重...

Git 基礎 撤消操作

任何時候,你都有可能需要撤消剛才所做的某些操作。接下來,我們會介紹一些基本的撤消操作相關的命令。請注意,有些撤銷操作是不可逆的,所以請務必謹慎小心,一旦失誤,就有可能丟失部分工作成果。有時候我們提交完了才發現漏掉了幾個檔案沒有加,或者提交資訊寫錯了。想要撤消剛才的提交操作,可以使用 amend選項重...

Git系列文章(4) Git基礎使用(3)

前兩天主要介紹了對本地的git倉庫的一些基礎操作,今天將會介紹對遠端倉庫的基本操作。在平常的專案中,我們常常會與遠端倉庫打交道。遠端倉庫是指在網際網路或者其他網路伺服器上託管的專案版本庫。通過遠端倉庫我們可以與其他專案團隊成員共享工作成果。對於遠端倉庫的基礎的使用,我們需要了解如何新增遠端倉庫 檢視...