Git協(xié)同開發(fā)的那點(diǎn)事

隨著分布式和開源這些概念的不斷普及射富,現(xiàn)在有大部分的開發(fā)者都在用Git管理開源項(xiàng)目矢门、個(gè)人項(xiàng)目和公司的項(xiàng)目開發(fā)盆色。本篇博客主要是研究實(shí)際在使用Git進(jìn)行多人協(xié)作開發(fā)過程中的一些場(chǎng)景和解決方案。

引言

Git是一個(gè)開源的分布式版本控制系統(tǒng)祟剔,可以有效隔躲、高速的處理從很小到非常大的項(xiàng)目版本管理。

網(wǎng)上有許多介紹Git的博客等物延,下面就附上鏈接:

協(xié)同開發(fā)場(chǎng)景分析

場(chǎng)景一:開發(fā)分支錯(cuò)誤

項(xiàng)目來了個(gè)需求1宣旱,從develop分支中拉分支A進(jìn)行開發(fā);開發(fā)的中途叛薯,又來了一個(gè)緊急需求2浑吟,于是我就直接在A分支中開發(fā)需求2笙纤;直到發(fā)現(xiàn)不能在A分支中開發(fā)需求2的時(shí)候需求2的代碼已經(jīng)commit了幾次了。

如下圖提交:

m1-m2-m3-m4-m5

m1组力、m2省容、m5是需求1的代碼,m3和m4是需求2的代碼

解決方案:

假設(shè)m3和m4是commit id為0bda20e和1a04d5f

利用cherry-pick和revert:

  1. 從develop分支創(chuàng)建新分支B:git checkout B
  2. 將A分支中的需求2的commit復(fù)制到分支B:git cherry-pick 0bda20e 1a04d5f
  3. 撤銷在A分支中開發(fā)的需求2:git checkout Agit revert 0bda20e 1a04d5f

附上cherry-pick和revert的一些博客:

場(chǎng)景二:分支進(jìn)度不一致

m1-m2-m3-m4-m5-m6(master)
       \
       f1-f2-f3-f4-f5(feature)

多人協(xié)作開發(fā)時(shí)燎字,你需要開發(fā)一個(gè)新功能腥椒,于是你從master上的commit3開始拉了一個(gè)分支feature,可是這個(gè)新功能開發(fā)周期很長轩触,等到你完成的時(shí)候寞酿,master已經(jīng)提交到m6了家夺。如上圖所示脱柱。

解決方案:

使用rebase:

  1. 切換到分支feature:git checkout feature
  2. rebase到master:git rebase master
  3. 有沖突解決后執(zhí)行:git rebase --continue

分支樹則變成(如下圖所示)

m1-m2-m3-m4-m5-m6(master)
                \
                f1-f2-f3-f4-f5(feature)

附上rebase的一些博客:

暫時(shí)先發(fā)這么多拉馋,到時(shí)再補(bǔ)上榨为。有錯(cuò)誤的地方麻煩各位指正。謝謝煌茴!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末随闺,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蔓腐,更是在濱河造成了極大的恐慌矩乐,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件回论,死亡現(xiàn)場(chǎng)離奇詭異散罕,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)傀蓉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門欧漱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人葬燎,你說我怎么就攤上這事误甚。” “怎么了谱净?”我有些...
    開封第一講書人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵窑邦,是天一觀的道長。 經(jīng)常有香客問我壕探,道長冈钦,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任浩蓉,我火速辦了婚禮派继,結(jié)果婚禮上宾袜,老公的妹妹穿的比我還像新娘。我一直安慰自己驾窟,他們只是感情好庆猫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著绅络,像睡著了一般月培。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上恩急,一...
    開封第一講書人閱讀 51,737評(píng)論 1 305
  • 那天杉畜,我揣著相機(jī)與錄音,去河邊找鬼衷恭。 笑死此叠,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的随珠。 我是一名探鬼主播灭袁,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼窗看!你這毒婦竟也來了茸歧?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤显沈,失蹤者是張志新(化名)和其女友劉穎软瞎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拉讯,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡涤浇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了遂唧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片芙代。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖盖彭,靈堂內(nèi)的尸體忽然破棺而出纹烹,到底是詐尸還是另有隱情,我是刑警寧澤召边,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布铺呵,位于F島的核電站,受9級(jí)特大地震影響隧熙,放射性物質(zhì)發(fā)生泄漏片挂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望音念。 院中可真熱鬧沪饺,春花似錦、人聲如沸闷愤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽讥脐。三九已至遭居,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間旬渠,已是汗流浹背俱萍。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留告丢,地道東北人枪蘑。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像芋齿,于是被迫代替她去往敵國和親腥寇。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

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