日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

git reset中hard與soft區別

作者:我的名字豌豆 更新時間: 2022-05-10 編程語言

前言

?對于我們日常開發中,我們常用的方法可能是git reset --hard,來強行回退commit所提交的信息,這是不友好的,也許我們希望對誤操作提交的commit不進行刪除而是重新修改并進行提交,這個時候就需要–soft操作了,下文將介紹hard模式與soft模式的差異~

git reset中的hard與soft

?對于git reset我們在日常主要是使用其兩種模式,分別為hard與soft模式,對于git reset --hard的作用是代碼強制回溯到某節點,對于當前節點->回溯節點中間已commit的內容就會全部消失,而git reset --soft模式下與hard模式會有所不同,他會保存當前節點->回溯節點之間已保存的內容。
?--hard場景:1.當我們發現提交的某個commit思路不正確,或與業務有很大的出入時,我們此時可以選擇使用–hard去回退版本(–hard)。
?--soft場景:1.當我們不小心把還沒有添加完畢的功能commit提交上去時,這個時候我們可以使用–soft去回退我們誤提交的commit,完成此功能后,在重新提交commit。
使用:

	// 強回最近一次的commit所提交的內容(不保留內容)
	git reset --hard 
	// 強回對應commitID的內容(不保留內容)
	git reset --hard commitID
	
	// 恢復最近一次的commit所提交的內容(保留內容)
	git reset --soft HEAD^
	// 恢復對應commitID的內容(保留內容)
	git reset --hard commitID

例子:
初始化三個commit,每個commit對應添加內容a,b,c
在這里插入圖片描述
reset --soft到b節點

git reset --soft 4fcd5771bbd2a81f1fe60716af79a103e9cc143b

結果:
在這里插入圖片描述
此時我們軟回退到b節點,git log信息中提交節點c的信息消失,并且c的內容被保留回退下來。
在這里插入圖片描述
reset --hard到b節點

	git reset --hard 4fcd5771bbd2a81f1fe60716af79a103e9cc143b

當我們使用reset --hard時,git log信息中提交節點c的信息消失,并且c的內容不會被保留下來。
在這里插入圖片描述

原文鏈接:https://blog.csdn.net/liu19721018/article/details/124123527

欄目分類
最近更新