【轉(zhuǎn)載】reset三種模式區(qū)別和使用場景

原文:http://www.reibang.com/p/c2ec5f06cf1a

image

區(qū)別:

--hard

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

--soft

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

--mixed

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

使用場景:

--hard

--hard:(1) 要放棄目前本地的所有改變時,即去掉所有add到暫存區(qū)的文件和工作區(qū)的文件巴柿,可以執(zhí)行 git reset -hard HEAD 來強制恢復git管理的文件夾的內(nèi)容及狀態(tài)凛虽;(2) 真的想拋棄目標節(jié)點后的所有commit(可能覺得目標節(jié)點到原節(jié)點之間的commit提交都是錯了,之前所有的commit有問題)广恢。

--soft

--soft:原節(jié)點和reset節(jié)點之間的【差異變更集】會放入index暫存區(qū)中(Staged files)凯旋,所以假如我們之前工作目錄沒有改過任何文件,也沒add到暫存區(qū),那么使用reset --soft后至非,我們可以直接執(zhí)行 git commit 將 index暫存區(qū)中的內(nèi)容提交至 repository 中钠署。為什么要這樣呢?這樣做的使用場景是:假如我們想合并「當前節(jié)點」與「reset目標節(jié)點」之間不具太大意義的 commit 記錄(可能是階段性地頻繁提交,就是開發(fā)一個功能的時候荒椭,改或者增加一個文件的時候就commit谐鼎,這樣做導致一個完整的功能可能會好多個commit點,這時假如你需要把這些commit整合成一個commit的時候)時趣惠,可以考慮使用reset --soft來讓 commit 演進線圖較為清晰狸棍。總而言之信卡,可以使用--soft合并commit節(jié)點隔缀。

--mixed

--mixed(默認):(1)使用完reset --mixed后,我們可以直接執(zhí)行 git add 將這些改變果的文件內(nèi)容加入 index 暫存區(qū)中傍菇,再執(zhí)行 git commit 將 Index暫存區(qū) 中的內(nèi)容提交至Repository中,這樣一樣可以達到合并commit節(jié)點的效果(與上面--soft合并commit節(jié)點差不多界赔,只是多了git add添加到暫存區(qū)的操作)丢习;(2)移除所有Index暫存區(qū)中準備要提交的文件(Staged files),我們可以執(zhí)行 git reset HEAD 來 Unstage 所有已列入 Index暫存區(qū) 的待提交的文件淮悼。(有時候發(fā)現(xiàn)add錯文件到暫存區(qū)咐低,就可以使用命令)。(3)commit提交某些錯誤代碼袜腥,或者沒有必要的文件也被commit上去见擦,不想再修改錯誤再commit(因為會留下一個錯誤commit點),可以回退到正確的commit點上羹令,然后所有原節(jié)點和reset節(jié)點之間差異會返回工作目錄鲤屡,假如有個沒必要的文件的話就可以直接刪除了,再commit上去就OK了福侈。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末酒来,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子肪凛,更是在濱河造成了極大的恐慌堰汉,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件伟墙,死亡現(xiàn)場離奇詭異翘鸭,居然都是意外死亡,警方通過查閱死者的電腦和手機戳葵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門就乓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事档址№锞ぃ” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵守伸,是天一觀的道長绎秒。 經(jīng)常有香客問我,道長尼摹,這世上最難降的妖魔是什么见芹? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮蠢涝,結(jié)果婚禮上玄呛,老公的妹妹穿的比我還像新娘。我一直安慰自己和二,他們只是感情好徘铝,可當我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著惯吕,像睡著了一般惕它。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上废登,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天淹魄,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛噩咪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播缤沦,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼半醉!你這毒婦竟也來了疚俱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤缩多,失蹤者是張志新(化名)和其女友劉穎呆奕,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體衬吆,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡梁钾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了逊抡。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片姆泻。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡零酪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出拇勃,到底是詐尸還是另有隱情四苇,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布方咆,位于F島的核電站月腋,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏瓣赂。R本人自食惡果不足惜榆骚,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望煌集。 院中可真熱鬧妓肢,春花似錦、人聲如沸苫纤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽卷拘。三九已至放钦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間恭金,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工褂策, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留横腿,地道東北人。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓斤寂,卻偏偏與公主長得像耿焊,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子遍搞,可洞房花燭夜當晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 有時候罗侯,我們用Git的時候有可能commit提交代碼后,發(fā)現(xiàn)這一次commit的內(nèi)容是有錯誤的溪猿,那么有兩種處理方法...
    carway閱讀 458,824評論 31 339
  • 1钩杰、 如果通過git add命令增加了文件進入版本控制,git并不知道這個文件是之前不存在的诊县,還是之前已經(jīng)存在但是...
    naiyi閱讀 2,080評論 0 1
  • Workspace:工作區(qū)Index / Stage:暫存區(qū)/緩沖區(qū)Repository:倉庫區(qū)(或本地倉庫)Re...
    Bystander_1996閱讀 315評論 0 0
  • Git權威指南 Git初始化 創(chuàng)建版本庫以及第一次提交 本章主要學習:git init讲弄、git add和git c...
    阿洋12138閱讀 447評論 0 0
  • 目錄 Git 筆記系列(一)—— Git簡介 Git 筆記系列(二)—— Git工作流程 Git 筆記系列(三)—...
    吃蘑菇De大灰狼閱讀 1,207評論 0 3