GIT中常用命令詳解1.reset

***操作始終在本分支上

***主要用于重置暫存區(qū)

內(nèi)部操作見下圖:

git reset

//git reset 有兩種用法:

一是用于切換當前分支master 所指向的提交commit來替換當前暫存區(qū)或工作區(qū)的內(nèi)容 (分為hard, soft 和mixed);

?$ git reset --hard 456gr3

//完成全部3個步驟,即改變引用master 的指向(指向另一個提交commit, 其ID 為命令參數(shù)456gr3 );用新指向的commit 目錄樹替換暫存區(qū)的內(nèi)容;用新指向的commit 目錄樹替換工作區(qū)的內(nèi)容。

?$ git reset --soft 456gr3

//完成1 個步驟,即改變引用master 的指向(指向另一個提交commit, 其ID 為命令參數(shù)456gr3 );暫存區(qū)的內(nèi)容和工作區(qū)的內(nèi)容不變。

?$ git reset --mixed 456gr3

?$ git reset 456gr3

//以上兩條命令相等,命令默認采用mixed選項。其完成2個步驟,即改變引用master 的指向(指向另一個提交commit, 其ID 為命令參數(shù)456gr3 );用新指向的commit 目錄樹替換暫存區(qū)的內(nèi)容;工作區(qū)的內(nèi)容保持不變。

?$ git reset --soft HEAD ^

//僅將引用master 切換到前一個提交,暫存和工作區(qū)不變。常用于撤銷最近一次提交。

?$ git reset HEAD ^

//將引用master 切換到前一個提交,并更新暫存區(qū),但工作區(qū)不變。

?$ git reset --hard HEAD ^

//徹底撤銷最近一次提交,三區(qū)全都恢復到上次提交時的狀態(tài)

?$ git reset HEAD

?$ git reset

//以上兩條命令等價。意為重置當前暫存區(qū),也即是撤銷所有對暫存區(qū)的提交

二是用指定的提交下的文件替換掉當前暫存區(qū)的文件。

?$ git reset 87gy43 -- a.txt

//用ID (哈希值)為87gy43開頭的提交下的a.txt 替換掉當前暫存區(qū)下的a.txt

?$ git reset? -- a.txt

//撤銷對a.txt 的add 操作。即用當前HEAD 所指的提交下的a.txt 替換掉當前暫存區(qū)里保存的a.txt ,暫存區(qū)里其它文件不變。

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

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

  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,862評論 9 163
  • 以下筆記主要參考gitgot,大致了解git使用和原理。 第一部分我們從個人的視角去研究如何用好Git,并且揭示G...
    carolwhite閱讀 2,538評論 0 1
  • 以前的我,也是口號軍里的一員! 常常跟著大軍喊:我要改變!我要改變! 一邊喊著,一邊在等待改變的機會降臨...
    愉說閱讀 281評論 4 2
  • 一切可以妥當?shù)囊欢〞桩敚蕚溆悠孥E!很喜歡的話送給眾生!這幾句話在我最需要幫助的時候讓我我感覺很神奇! 我近期...
    belivePossible閱讀 200評論 2 1

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