詳解git reset --hard 和 git reset --soft區(qū)別
有時候,進(jìn)行了錯誤的提交,但是還沒有push到遠(yuǎn)程分支,想要撤銷本次提交,可以使用git reset –-soft/hard命令。
1、二者區(qū)別:
git reset –-soft:回退到某個版本,只回退了commit的信息,不會恢復(fù)到index file一級。如果還要提交,直接commit即可;
git reset -–hard:徹底回退到某個版本,本地的源碼也會變?yōu)樯弦粋€版本的內(nèi)容,撤銷的commit中所包含的更改被沖掉;
2、具體用法如下:
使用git log命令查看本地的所有提交
現(xiàn)在想要撤銷最后一次提交,即上圖中“OTMS-25838: rollback the modification in OrderDto”這個commit;
(1)git reset --hard使用示例:
使用命令git reset --hard 1c38838ad39b396e271cb10e2146a1d673b4a2b9撤回制定版本號(不包括該提交)之前的所有提交。
注意:上述命令執(zhí)行成功之后,會徹底返回到回退前的版本狀態(tài),新發(fā)生的變更將會丟失。對于部分發(fā)生了變更,但是變更部分的文件夾存在未提交的文件可能導(dǎo)致目錄非空而刪除失敗,此時需要自行處置。
(2)git reset –-soft使用示例:
初始狀態(tài),可見當(dāng)前分支最后一個提交是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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
git通過內(nèi)網(wǎng)代理訪問外網(wǎng)的相關(guān)配置方法
這篇文章主要介紹了git通過內(nèi)網(wǎng)代理,訪問外網(wǎng)的相關(guān)配置,配置git代理以http代理為例,給大家詳細(xì)講解,需要的朋友可以參考下2023-05-05Kali滲透測試之使用Metasploit對Web應(yīng)用的攻擊
這篇文章主要介紹了Kali滲透測試:使用Metasploit對Web應(yīng)用的攻擊,這種漏洞源于Web應(yīng)用程序沒有對用戶輸入的內(nèi)容進(jìn)行準(zhǔn)確的驗(yàn)證,從而導(dǎo)致操作系統(tǒng)執(zhí)行了攻擊者輸入的命令,需要的朋友可以參考下2022-05-05HTML轉(zhuǎn)義字符&npsp;表示non-breaking space \xa0
HTML轉(zhuǎn)義字符&npsp;表示non-breaking space,unicode編碼為u'\xa0',超出gbk編碼范圍,這里就為大家分享一下2020-02-02vscode?debug設(shè)置參數(shù)與環(huán)境變量圖文詳解
這篇文章主要給大家介紹了關(guān)于vscode?debug設(shè)置參數(shù)與環(huán)境變量的相關(guān)資料,文中通過圖文以及代碼示例介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-09-09