git高級命令之代碼回滾

一汛聚、背景

寫代碼總不可能一帆風(fēng)順,一直向前迭代短荐。有時(shí)候倚舀,我們需要進(jìn)行回滾到之前的版本。
本文主要介紹git命令如何進(jìn)行代碼回滾忍宋。

二瞄桨、代碼回滾相關(guān)命令

git命令.png

三、git命令的實(shí)際操作演練

1讶踪、git log

~/Documents/tag-service$ git log
image.png

2芯侥、

~/Documents/tag-service$ git revert e22c03c65ddfe3df412151f26de19f53decec3e7

缺點(diǎn)是:當(dāng)提交代碼的次數(shù)多,如果需要回滾的次數(shù)多,你需要逐個執(zhí)行revert柱查。

3廓俭、git reset 命令,git log不再出現(xiàn)被回退代碼的痕跡唉工。

~/Documents/tag-service$ git log
image.png
-- 8ff4e88d84022f882e79799726eb8b9fb0bbb1a5 是“日志格式統(tǒng)一”的提交點(diǎn)研乒。

~/Documents/tag-service$  git reset --hard 8ff4e88d84022f882e79799726eb8b9fb0bbb1a5
~/Documents/tag-service$  git push --force origin master

強(qiáng)制重置到某個提交點(diǎn),這時(shí)候淋硝,你再使用git log 查看雹熬,是看不到被重置的提交點(diǎn)的!


image.png

但是git reflog可以:

~/Documents/tag-service$ git reflog
image.png
 ~/Documents/tag-service$ git reset --hard e22c03c
HEAD 現(xiàn)在位于 e22c03c 測試提交1
~/Documents/tag-service$  git push --force origin master

使用git log 可以看到重置成功谣膳!


image.png

4竿报、git rebase

操作實(shí)際上是將當(dāng)前執(zhí)行rebase分支的所有基于原分支提交點(diǎn)之后的commit打散成一個一個的patch,并重新生成一個新的commit hash值继谚,再次基于原分支目前最新的commit點(diǎn)上進(jìn)行提交烈菌,并不根據(jù)兩個分支上實(shí)際的每次提交的時(shí)間點(diǎn)排序,rebase完成后花履,切到基分支進(jìn)行合并另一個分支時(shí)也不會生成一個新的commit點(diǎn)芽世,可以保持整個分支樹的完美線性

5、git merge

操作合并分支會讓兩個分支的每一次提交都按照提交時(shí)間(并不是push時(shí)間)排序诡壁,并且會將兩個分支的最新一次commit點(diǎn)進(jìn)行合并成一個新的commit济瓢,最終的分支樹呈現(xiàn)非整條線性直線的形式

6、”正規(guī)而正統(tǒng)”的方式來回退代碼妹卿,rebase + revert

具體操作葬荷,可以參考文章:https://zhenbianshu.github.io/2019/05/ways_to_rollback_git_code.html
文章http://www.reibang.com/p/4a8f4af4e803詳細(xì)描述了rebase的操作細(xì)節(jié)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末纽帖,一起剝皮案震驚了整個濱河市宠漩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌懊直,老刑警劉巖扒吁,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異室囊,居然都是意外死亡雕崩,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進(jìn)店門融撞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來盼铁,“玉大人,你說我怎么就攤上這事尝偎∪幕穑” “怎么了鹏控?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長肤寝。 經(jīng)常有香客問我当辐,道長,這世上最難降的妖魔是什么鲤看? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任缘揪,我火速辦了婚禮,結(jié)果婚禮上义桂,老公的妹妹穿的比我還像新娘找筝。我一直安慰自己,他們只是感情好慷吊,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布袖裕。 她就那樣靜靜地躺著,像睡著了一般罢浇。 火紅的嫁衣襯著肌膚如雪陆赋。 梳的紋絲不亂的頭發(fā)上沐祷,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天嚷闭,我揣著相機(jī)與錄音,去河邊找鬼赖临。 笑死胞锰,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的兢榨。 我是一名探鬼主播嗅榕,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼吵聪!你這毒婦竟也來了凌那?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤吟逝,失蹤者是張志新(化名)和其女友劉穎帽蝶,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體块攒,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡励稳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了囱井。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片驹尼。...
    茶點(diǎn)故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖庞呕,靈堂內(nèi)的尸體忽然破棺而出新翎,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布料祠,位于F島的核電站骆捧,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏髓绽。R本人自食惡果不足惜敛苇,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望顺呕。 院中可真熱鬧枫攀,春花似錦、人聲如沸株茶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽启盛。三九已至蹦掐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間僵闯,已是汗流浹背卧抗。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鳖粟,地道東北人社裆。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像向图,于是被迫代替她去往敵國和親泳秀。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評論 2 359