Git Reset三種模式

2022-06-02 22:39:11 字數 850 閱讀 9980

前言

在最近的工作中使用到git遇到的一些問題,對git的了解加深了一點。

有時候,當我們commit**後,發現這一次commit的內容是有錯誤的,這個時候有兩種處理方法

1、修改錯誤內容,再一次commit

2、使用git reset命令撤銷這一次錯誤的commit

這兩種方法,第一種比較直接,但會多義詞commit記錄

解釋

git-reset - reset current head to the specified state

意思就是可以讓head這個指標指向其他的地方。例如我們有一次commit不是不是很滿意,需要回到上一次的commit裡面。那麼這個時候就需要通過reset,把head指標指向上一次的commit的點。

三種模式

soft、mixed、hard

這是他們的區別

reset --hard 會在重置 head 和branch的同時,重置stage區和工作目錄裡的內容。當你在 reset 後面加了 --hard 引數時,你的stage區和工作目錄裡的內容會被完全重置為和head的新位置相同的內容。換句話說,就是你的沒有commit的修改會被全部擦掉。

例如你在上次 commit 之後又對檔案做了一些改動:把修改後的ganmes.txt檔案add到stage區,修改後的shopping list.txt保留在工作目錄

git reset三種模式

區別 hard 重置位置的同時,直接將working tree工作目錄 index 暫存區及repository都重置成目標reset節點的內容,所以效果看起來等同於清空暫存區和工作區。soft 重置位置的同時,保留working tree工作目錄和index暫存區的內容,只讓repository中...

git reset三種模式詳解

使用git reset命令可回退到指定的commit,本質其實就是將head指向分支的commit移動到了目標的commit上面 git reset命令有三種模式可供使用,分別是 git reset mixed 不加引數預設為此模式 git reset sort git reset hard 下面分...

Git reset的三種模式

重置stage區和工作目錄 慎用 在reset後面加 hard引數時,stage區和工作目錄裡的內容會被完全重置為和指定head位置相同的內容。也就是沒有commit的修改會被全部擦掉。執行後工作區 暫存區 版本庫保持一致 指定head版本 administrator win dtnf3grdh5r...