git reset 命令用于回退版本的使用

git reset 有三種模式:git reset [--soft | --mixed | --hard] [HEAD]

參考:https://www.runoob.com/git/git-reset.html

--mixed

  • --mixed 為默認(rèn),可以不用帶該參數(shù),用于重置暫存區(qū)的文件與上一次的提交(commit)保持一致,工作區(qū)文件內(nèi)容保持不變。
    1、 git reset c27948b75a54651bd57058c417a53d4216ea5389 等價于git reset mixed c27948b75a54651bd57058c417a53d4216ea5389
    2、git reset HEAD^ # 回退所有內(nèi)容到上一個版本
    3、git reset HEAD^ hello.php # 回退 hello.php 文件的版本到上一個版本
    4、git reset 052e # 回退到指定版本
    5、實體需求操作:需要回退到箭頭指向的這個版本 head:c27948b75a54651bd57058c417a53d4216ea5389
    image.png
1、git reset c27948b75a54651bd57058c417a53d4216ea5389   暫存區(qū)回退,工作區(qū)文件內(nèi)容保持不變
2、git checkout .   確認(rèn)工作區(qū)文件是否需要,不需要使用checkout .
3、git push --force  git要強(qiáng)制覆蓋,那么可以使用--force命令。
4、git  status    如果有添加的文件可能需要手動刪除 (C#代碼已經(jīng)忽略掉的)

--soft

  • --soft 參數(shù)用于回退到某個版本:
    1、git reset --soft HEAD

--hard

  • --hard參數(shù)撤銷工作區(qū)中所有未提交的修改內(nèi)容,將暫存區(qū)與工作區(qū)都回到上一次版本,并刪除之前的所有信息提交:
    換句話說,就是你的沒有commit的修改會被全部擦掉。
    reset --hard 不僅可以撤銷提交,還可以用來把 HEAD 和 branch 移動到其他的任何地方。參考:http://www.itdecent.cn/p/c2ec5f06cf1a
    git reset --hard HEAD
    git reset –hard HEAD~3 # 回退上上上一個版本
    git reset –hard bae128 # 回退到某個版本回退點之前的所有信息。
    git reset --hard origin/master # 將本地的狀態(tài)回退到和遠(yuǎn)程的一樣
    注意:謹(jǐn)慎使用 –hard 參數(shù),它會刪除回退點之前的所有信息。

總結(jié):

--hard:重置位置的同時,直接將 working Tree工作目錄、 index 暫存區(qū)及 repository 都重置成目標(biāo)Reset節(jié)點的內(nèi)容,所以效果看起來等同于清空暫存區(qū)和工作區(qū)。

--soft:重置位置的同時,保留working Tree工作目錄和index暫存區(qū)的內(nèi)容,只讓repository中的內(nèi)容和 reset 目標(biāo)節(jié)點保持一致,因此原節(jié)點和reset節(jié)點之間的【差異變更集】會放入index暫存區(qū)中(Staged files)。所以效果看起來就是工作目錄的內(nèi)容不變,暫存區(qū)原有的內(nèi)容也不變,只是原節(jié)點和Reset節(jié)點之間的所有差異都會放到暫存區(qū)中。

--mixed(默認(rèn)):重置位置的同時,只保留Working Tree工作目錄的內(nèi)容,但會將 Index暫存區(qū) 和 Repository 中的內(nèi)容更改和reset目標(biāo)節(jié)點一致,因此原節(jié)點和Reset節(jié)點之間的【差異變更集】會放入Working Tree工作目錄中。所以效果看起來就是原節(jié)點和Reset節(jié)點之間的所有差異都會放到工作目錄中。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容