詳解git reset --hard 和 git reset --soft區(qū)別
有時(shí)候,進(jìn)行了錯(cuò)誤的提交,但是還沒有push到遠(yuǎn)程分支,想要撤銷本次提交,可以使用git reset –-soft/hard命令。
1、二者區(qū)別:
git reset –-soft:回退到某個(gè)版本,只回退了commit的信息,不會(huì)恢復(fù)到index file一級(jí)。如果還要提交,直接commit即可;
git reset -–hard:徹底回退到某個(gè)版本,本地的源碼也會(huì)變?yōu)樯弦粋€(gè)版本的內(nèi)容,撤銷的commit中所包含的更改被沖掉;
2、具體用法如下:
使用git log命令查看本地的所有提交

現(xiàn)在想要撤銷最后一次提交,即上圖中“OTMS-25838: rollback the modification in OrderDto”這個(gè)commit;
(1)git reset --hard使用示例:

使用命令git reset --hard 1c38838ad39b396e271cb10e2146a1d673b4a2b9撤回制定版本號(hào)(不包括該提交)之前的所有提交。
注意:上述命令執(zhí)行成功之后,會(huì)徹底返回到回退前的版本狀態(tài),新發(fā)生的變更將會(huì)丟失。對(duì)于部分發(fā)生了變更,但是變更部分的文件夾存在未提交的文件可能導(dǎo)致目錄非空而刪除失敗,此時(shí)需要自行處置。
(2)git reset –-soft使用示例:
初始狀態(tài),可見當(dāng)前分支最后一個(gè)提交是debug the initialization page

現(xiàn)在要撤銷該commit,但是又不能撤銷該提交包含的更改,使用git reset --soft,執(zhí)行結(jié)果為


可見commit取消了,代碼更改并沒有取消。
到此這篇關(guān)于詳解git reset --hard 和 git reset --soft區(qū)別的文章就介紹到這了,更多相關(guān)git reset --hard和git reset --soft內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Commitizen來(lái)規(guī)范代碼提交信息使用技巧
這篇文章主要為大家介紹了Commitizen來(lái)規(guī)范代碼提交信息使用技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
Jar包一鍵重啟的Shell腳本及新服務(wù)器部署的一些經(jīng)驗(yàn)分享
這篇文章主要介紹了Jar包一鍵重啟的Shell腳本及新服務(wù)器部署的一些經(jīng)驗(yàn),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
win11?C盤出現(xiàn)鎖和黃色感嘆號(hào)的解決方法
這篇文章主要介紹了win11?C盤出現(xiàn)鎖和黃色感嘆號(hào)的解決方法,文中有詳細(xì)的解決方案,對(duì)大家的解決問(wèn)題有一定的幫助,需要的朋友可以參考下2007-02-02
SonarQube實(shí)現(xiàn)自動(dòng)化代碼掃描的安裝及使用集成方式
Sonar是一個(gè)用于代碼質(zhì)量管理的開源平臺(tái),通過(guò)插件機(jī)制,Sonar可與第三方工具進(jìn)行集成。將Sonar引入到代碼開發(fā)的過(guò)程中,提供靜態(tài)源代碼安全掃描能力,這無(wú)疑是安全左移的一次很好的嘗試和探索2021-10-10

