回滾

回滾分為兩種拍鲤。

1、包回滾憋沿,線上運行的系統(tǒng)旺芽,從現在的版本回滾到之前穩(wěn)定的版本

2、代碼回滾,指git分支的游標采章,從指向當前有問題的版本改動為指向一個改分支歷史樹上沒有問題的版本运嗜。這個版本可以是曾經的commit,也可以是新建的commit

代碼回滾場景及方式

1悯舟、開發(fā)環(huán)境有一個新分支担租,共5個提交,回滾最新3個提交抵怎。僅影響用戶個人


2奋救、本地分支通過reset --hard方式做了回滾,想讓遠端一起回滾反惕。僅影響用戶個人

reset --hard后尝艘,push需要增加-f參數

3、線上產品包已經回滾到昨天版本了姿染,昨天發(fā)布分支代碼也reset --hard 對應的commit了背亥,有問題的commit又逮到發(fā)布分支了

集成分支不能使用reset --hard回滾,應該集成分支上新增commit方式進行

4悬赏、gitlab上游一個merge請求狡汉,已經合并到master了,合并commit有較大質量問題闽颇,必須回滾到之前

使用gitlab的合并請求上的revert

5盾戴、線上A產品的V6.2包有問題,已經把A產品包回滾到V6.1版本了兵多,發(fā)布分支上的代碼是否也要回滾

如果回滾后捻脖,不是源代碼問題,不需要回滾代碼中鼠。下次上線發(fā)布可婶,用來修復剛才線上問題,不用回滾代碼援雇。


集成分支上線后回滾

圖中的具體情況信息:

????C3 打包并上線矛渴,生成線上的版本 V0529,運行正確惫搏。

????之后 C6 也打包并上線具温,生成線上版本 V0530,運行一段時間后發(fā)現有問題筐赔。C4 和 C5 并沒有單獨打包上線铣猩,所以沒有對應的線上版本。項

????目組把產品包從 V0530 回滾到 V0529茴丰,經過定位达皿,V0530 的代碼有問題天吓,但短時間不能修復,于是峦椰,項目組決定回滾代碼龄寞。C4 和 C5 沒有單獨上過線,因此從線上包的角度看汤功,不能回滾到 C4 或 C5物邑,應該回滾到 C3。

????考慮到線上包可以回滾到曾發(fā)布過的任意一個正確的版本滔金。為了適應線上包的這個特點色解,線上包回滾觸發(fā)的代碼回滾我們決定不用 一個個 revert C4、C5 和 C6 的方式餐茵,而是直接創(chuàng)建一個新的 commit冒签,它的內容等于 C3 的內容。具體回滾步驟:

? ??????$ git fetch origin

????????$ git checkout master

????????$ git reset --hard? V0529? ? ? ? # 把本地的master 分支的指針回退到 V0529钟病,此時暫存區(qū)(index)里就指向 V0529里的內容了。

????????$ git reset --soft? origin/master? # --soft使得本地的master 分支的指針重新回到 V05javascript:;30刚梭,而暫存區(qū)(index)變成 V0529的內容肠阱。

????????$ git commit -m "rollback to V0529"? # 把暫存區(qū)里的內容提交,這樣一來新生成的commit的內容和 V0529 相同朴读。

????????$ git push origin? master? ? ? ? # 遠端的master也被回滾屹徘。

6、代碼包的回滾在持續(xù)交付憑條執(zhí)行衅金,平帶能不能提供代碼意見回滾能力

平臺能提供最好了

代碼回滾場景及處理策略


代碼回滾原則

集成分支的代碼回滾堅決不用reset --hard的方式噪伊,原因如下:

1、集成分支的commit是項目階段性的成果氮唯,及時最近的發(fā)布不需要commit功能鉴吹,仍然需要這寫commit,以備后續(xù)使用

2惩琉、開發(fā)會基于集成分支上的commit拉取新分支豆励,如果集成分支采用reset的方式清楚,下次其他人會把新分支集成時瞒渠,會把被清除的commit申請何如

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末良蒸,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子伍玖,更是在濱河造成了極大的恐慌嫩痰,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件窍箍,死亡現場離奇詭異串纺,居然都是意外死亡丽旅,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進店門造垛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來魔招,“玉大人,你說我怎么就攤上這事五辽“彀撸” “怎么了?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵杆逗,是天一觀的道長乡翅。 經常有香客問我,道長罪郊,這世上最難降的妖魔是什么蠕蚜? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮悔橄,結果婚禮上靶累,老公的妹妹穿的比我還像新娘。我一直安慰自己癣疟,他們只是感情好挣柬,可當我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著睛挚,像睡著了一般邪蛔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上扎狱,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天侧到,我揣著相機與錄音,去河邊找鬼淤击。 笑死匠抗,一個胖子當著我的面吹牛,可吹牛的內容都是我干的污抬。 我是一名探鬼主播戈咳,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼壕吹!你這毒婦竟也來了著蛙?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤耳贬,失蹤者是張志新(化名)和其女友劉穎踏堡,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體咒劲,經...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡顷蟆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年诫隅,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片帐偎。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡逐纬,死狀恐怖,靈堂內的尸體忽然破棺而出削樊,到底是詐尸還是另有隱情豁生,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布漫贞,位于F島的核電站甸箱,受9級特大地震影響,放射性物質發(fā)生泄漏迅脐。R本人自食惡果不足惜芍殖,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望谴蔑。 院中可真熱鬧豌骏,春花似錦、人聲如沸隐锭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽成榜。三九已至,卻和暖如春蹦玫,著一層夾襖步出監(jiān)牢的瞬間赎婚,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工樱溉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留挣输,地道東北人。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓福贞,卻偏偏與公主長得像撩嚼,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子挖帘,可洞房花燭夜當晚...
    茶點故事閱讀 45,870評論 2 361