任何時候,你都有可能需要撤消剛才所做的某些操作。接下來,我們會介紹一些基本的撤消操作相關的命令。請注意,有些撤銷操作是不可逆的,所以請務必謹慎小心,一旦失誤,就有可能丟失部分工作成果。
--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倉庫的一些基礎操作,今天將會介紹對遠端倉庫的基本操作。在平常的專案中,我們常常會與遠端倉庫打交道。遠端倉庫是指在網際網路或者其他網路伺服器上託管的專案版本庫。通過遠端倉庫我們可以與其他專案團隊成員共享工作成果。對於遠端倉庫的基礎的使用,我們需要了解如何新增遠端倉庫 檢視...