關(guān)于git reset --hard蔗喂,git reset --soft ,git revert

在工作中避免不了會(huì)遇到代碼回滾高帖,這種情況分為兩種缰儿,分別是本地回滾與遠(yuǎn)程回滾。

  • git reset --hard xxx,git reset --soft xxx,git revert xxx有兩個(gè)作用:
    1散址、文件從暫存區(qū)回退到工作區(qū)
    2乖阵、版本回退
  • 可以把git簡(jiǎn)單的分成三個(gè)區(qū)域,分別為:
    1预麸、工作區(qū)
    2瞪浸、暫緩區(qū)
    3、歷史記錄區(qū)

假如在add/commit過沒有push的情況下吏祸,發(fā)現(xiàn)有問題对蒲,需要回滾的情況下,可以用到以下命令:
reset
git reset [--soft | --mixed | --hard
上面常見三種類型

--mixed

會(huì)保留源碼,只是將git commit和index 信息回退到了某個(gè)版本.
git reset 默認(rèn)是 --mixed 模式
git reset --mixed 等價(jià)于 git reset

--soft

保留源碼,只回退到commit 信息到某個(gè)版本.不涉及index的回退,如果還需要提交,直接commit即可.

--hard

源碼也會(huì)回退到某個(gè)版本,commit和index 都回回退到某個(gè)版本.(注意,這種方式是改變本地代碼倉(cāng)庫(kù)源碼)

當(dāng)然有人在push代碼以后,也使用 reset --hard <commit...> 回退代碼到某個(gè)版本之前,但是這樣會(huì)有一個(gè)問題,你線上的代碼沒有變,線上commit,index都沒有變,當(dāng)你把本地代碼修改完提交的時(shí)候你會(huì)發(fā)現(xiàn)權(quán)是沖突.....

所以,這種情況你要使用下面的方式

2.已經(jīng)push

對(duì)于已經(jīng)把代碼push到線上倉(cāng)庫(kù),你回退本地代碼其實(shí)也想同時(shí)回退線上代碼,回滾到某個(gè)指定的版本,線上,線下代碼保持一致.你要用到下面的命令

revert

git revert用于反轉(zhuǎn)提交,執(zhí)行evert命令時(shí)要求工作樹必須是干凈的.

git revert用一個(gè)新提交來消除一個(gè)歷史提交所做的任何修改.
revert 之后你的本地代碼會(huì)回滾到指定的歷史版本,這時(shí)你再 git push 既可以把線上的代碼更新.(這里不會(huì)像reset造成沖突的問題)

revert 使用,需要先找到你想回滾版本唯一的commit標(biāo)識(shí)代碼,可以用 git log 或者在adgit搭建的web環(huán)境歷史提交記錄里查看.

git revert c011eb3c20ba6fb38cc94fe5a8dda366a3990c61

或者只需要前幾位即可

git revert c011eb3

git revert是用一次新的commit來回滾之前的commit犁罩,git reset是直接刪除指定的commit

看似達(dá)到的效果是一樣的,其實(shí)完全不同.

第一:

上面我們說的如果你已經(jīng)push到線上代碼庫(kù), reset 刪除指定commit以后,你git push可能導(dǎo)致一大堆沖突.但是revert 并不會(huì).

第二:

如果在日后現(xiàn)有分支和歷史分支需要合并的時(shí)候,reset 恢復(fù)部分的代碼依然會(huì)出現(xiàn)在歷史分支里.但是revert 方向提交的commit 并不會(huì)出現(xiàn)在歷史分支里.

第三:

reset 是在正常的commit歷史中,刪除了指定的commit,這時(shí) HEAD 是向后移動(dòng)了,而 revert 是在正常的commit歷史中再commit一次,只不過是反向提交,他的 HEAD 是一直向前的.

內(nèi)容引用:
http://yijiebuyi.com/blog/8f985d539566d0bf3b804df6be4e0c90.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末齐蔽,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子床估,更是在濱河造成了極大的恐慌,老刑警劉巖诱渤,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件丐巫,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡勺美,警方通過查閱死者的電腦和手機(jī)递胧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赡茸,“玉大人缎脾,你說我怎么就攤上這事≌嘉裕” “怎么了遗菠?”我有些...
    開封第一講書人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)华蜒。 經(jīng)常有香客問我辙纬,道長(zhǎng),這世上最難降的妖魔是什么叭喜? 我笑而不...
    開封第一講書人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任贺拣,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘譬涡。我一直安慰自己闪幽,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開白布涡匀。 她就那樣靜靜地躺著盯腌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪渊跋。 梳的紋絲不亂的頭發(fā)上腊嗡,一...
    開封第一講書人閱讀 52,268評(píng)論 1 309
  • 那天,我揣著相機(jī)與錄音拾酝,去河邊找鬼燕少。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蒿囤,可吹牛的內(nèi)容都是我干的客们。 我是一名探鬼主播,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼材诽,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼底挫!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起脸侥,我...
    開封第一講書人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤建邓,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后睁枕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體官边,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年外遇,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了注簿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡跳仿,死狀恐怖诡渴,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情菲语,我是刑警寧澤妄辩,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站谨究,受9級(jí)特大地震影響恩袱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜胶哲,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一畔塔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦澈吨、人聲如沸把敢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)修赞。三九已至,卻和暖如春桑阶,著一層夾襖步出監(jiān)牢的瞬間柏副,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工蚣录, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留割择,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓萎河,卻偏偏與公主長(zhǎng)得像荔泳,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子虐杯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

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

  • git常用命令 GIT常用命令備忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章閱讀 8,491評(píng)論 1 26
  • 本片內(nèi)容轉(zhuǎn)自CSDN http://blog.csdn.net/ithomer/article/details/7...
    五娃兒閱讀 4,934評(píng)論 2 88
  • 來個(gè)金獎(jiǎng)吧擎椰,捧手支子。。达舒。
    華鳧閱讀 199評(píng)論 1 0
  • 蕭魚不慌閱讀 137評(píng)論 0 2
  • 林蕾 宜昌 焦點(diǎn)網(wǎng)絡(luò)初級(jí)七期 堅(jiān)持分享第112天 今天译荞,天氣真好,中午還有一點(diǎn)熱休弃。不知道為什么,我心里有點(diǎn)兒煩躁不...
    壹凡心理閱讀 105評(píng)論 0 0