使用git reset命令可回退到指定的commit,本質其實就是將head指向分支的commit移動到了目標的commit上面
git reset命令有三種模式可供使用,分別是:
git reset --mixed(不加引數預設為此模式)
git reset --sort
git reset --hard
下面分別對這三種模式的使用做一一介紹
一 git reset --mixed(不加引數預設為此模式)
此種模式下repository區域內容與目標節點內容保持一致,暫存區索引也和目標節點內容保持一致,那麼當前節點和目標節點之間的改變就會放在工作區域。
常用場景: 1.使用git reset (--mixed) head 恢復當前版本的暫存區,修改內容重新放回到工作區。idea中revert操作就是使用git reset head + checkout --file 命令還原工作區的修改。
2.git reset head^1 + checkout --file 命令可以還原到上個版本的修改, 例如在上個版本中找回被刪除的檔案
3.可以用來合併目標節點和當前節點之間沒有必要的提交
二 git reset --sort
此種模式下repository內容與目標節點保持一致,暫存區和工作區內容保持不變,當前節點和目標節點的改變放在暫存區
三 git reset --hard
此種模式下repository、暫存區、工作區的內容與目標節點內容保持一致,意思是說所有的內容將回退到目標節點,所以此命令使用時要慎重。
git reset三種模式
區別 hard 重置位置的同時,直接將working tree工作目錄 index 暫存區及repository都重置成目標reset節點的內容,所以效果看起來等同於清空暫存區和工作區。soft 重置位置的同時,保留working tree工作目錄和index暫存區的內容,只讓repository中...
Git Reset三種模式
前言 在最近的工作中使用到git遇到的一些問題,對git的了解加深了一點。有時候,當我們commit 後,發現這一次commit的內容是有錯誤的,這個時候有兩種處理方法 1 修改錯誤內容,再一次commit 2 使用git reset命令撤銷這一次錯誤的commit 這兩種方法,第一種比較直接,但會...
Git reset的三種模式
重置stage區和工作目錄 慎用 在reset後面加 hard引數時,stage區和工作目錄裡的內容會被完全重置為和指定head位置相同的內容。也就是沒有commit的修改會被全部擦掉。執行後工作區 暫存區 版本庫保持一致 指定head版本 administrator win dtnf3grdh5r...