Git筆記與思考三:合并

概念

Git的合并(Merge)是針對兩條或以上分支所進(jìn)行的操作昌跌,所以在Git中仰禀,我們說合代碼,其實(shí)是合分支蚕愤,或者說讓各分支進(jìn)行同步答恶。

可能剛接觸Git時(shí)饺蚊,你會疑惑說,我和同事都在一個(gè)叫master的分支上開發(fā)悬嗓,并沒有各自的分支拔酆簟?
實(shí)際上包竹,大家是在各自的本地Git上開發(fā)燕酷,而大家工作區(qū)所在的本地分支恰恰都用了默認(rèn)名字master而已。即你有你的master分支周瞎,我也有我的master分支苗缩。當(dāng)大家push到遠(yuǎn)程倉庫的時(shí)候,遠(yuǎn)程倉庫還有一個(gè)叫master的分支声诸。
所以假如是2人開發(fā)同一項(xiàng)目酱讶,然后又使用遠(yuǎn)程倉庫來同步的話,這種情況下其實(shí)是至少存在3條分支需要我們?nèi)ネ健?/p>

合并指令

合并至少涉及到兩個(gè)分支彼乌。在合并時(shí)浴麻,可以理解為站在某個(gè)分支的角度,對另一個(gè)需要被合并進(jìn)來的分支發(fā)出指令囤攀。

git merge 需要被合并進(jìn)來的分支名

通過git log --graph可以圖形化查看版本庫歷史記錄软免,將看到被合并的分支匯入了當(dāng)前發(fā)起指令的分支。

自動合并

在條件具足的時(shí)候焚挠,Git的合并可以智能化完成膏萧,在成功后創(chuàng)建一次合并結(jié)果的提交。
什么是條件具足蝌衔?

  1. 假如要合并的兩個(gè)分支沒有對同一個(gè)文件進(jìn)行增刪改查榛泛,兩個(gè)分支各干各的事情毫無沖突,這個(gè)時(shí)候Git可以順利合并噩斟。
  2. 假如要合并的兩個(gè)分支都對同一個(gè)文件修改了曹锨,但只要這個(gè)文件是個(gè)文本文件,且兩個(gè)分支所修改的地方不在同一處剃允,比如不在同一行上修改沛简,那么Git還是可以智能完成這次合并,它會同時(shí)采用兩個(gè)分支所作的修改斥废。
    除此以外的合并椒楣,都需要人工介入處理。

編輯沖空

如果兩個(gè)分支對同一份文件的同一處分別進(jìn)行了修改牡肉,那么在合并它們時(shí)就會發(fā)生沖突捧灰,這種是最常見的編輯沖突。
這種情況下统锤,Git會把兩個(gè)分支的修改都同時(shí)寫入文件毛俏,并打上某些標(biāo)記炭庙,就像svn那樣的<<<、===煌寇、>>>和|||焕蹄,然后Git的合并操作中止,不會對這樣的結(jié)果自動提交唧席。
這時(shí)就需要人工介入,手動修改文件成你希望的合并的結(jié)果嘲驾,然后按往常的提交修改一樣淌哟,自己提交。

內(nèi)容沖突

有時(shí)候辽故,兩個(gè)分支對同一份文件分別作了不同的修改徒仓,而修改的地方各不相同,那么站在Git的角度誊垢,它認(rèn)為沒有沖突掉弛,會自動合并,并且產(chǎn)生一次提交喂走。
雖然從文件本質(zhì)上來說殃饿,Git以為它成功修改了一份文件,但是從文件意義上來說芋肠,它很可能已經(jīng)不能用了乎芳,已經(jīng)被這次自動合并改壞了!
例如某些格式嚴(yán)謹(jǐn)?shù)奈募兀瑑蓚€(gè)分支對其分別改動后奈惑,可能就前后不一致,無法發(fā)揮作用了睡汹。
這種可稱為內(nèi)容沖突肴甸,Git無法感知,需要結(jié)合場景多加注意囚巴。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末原在,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子彤叉,更是在濱河造成了極大的恐慌晤斩,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件姆坚,死亡現(xiàn)場離奇詭異澳泵,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)兼呵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門兔辅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來腊敲,“玉大人,你說我怎么就攤上這事维苔∨龈ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵介时,是天一觀的道長没宾。 經(jīng)常有香客問我,道長沸柔,這世上最難降的妖魔是什么循衰? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮褐澎,結(jié)果婚禮上会钝,老公的妹妹穿的比我還像新娘。我一直安慰自己工三,他們只是感情好迁酸,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著俭正,像睡著了一般奸鬓。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上掸读,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天全蝶,我揣著相機(jī)與錄音,去河邊找鬼寺枉。 笑死抑淫,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的姥闪。 我是一名探鬼主播始苇,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼筐喳!你這毒婦竟也來了催式?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤避归,失蹤者是張志新(化名)和其女友劉穎荣月,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體梳毙,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡哺窄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片萌业。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡坷襟,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出生年,到底是詐尸還是另有隱情婴程,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布抱婉,位于F島的核電站档叔,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蒸绩。R本人自食惡果不足惜衙四,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望侵贵。 院中可真熱鬧届搁,春花似錦缘薛、人聲如沸窍育。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽漱抓。三九已至,卻和暖如春恕齐,著一層夾襖步出監(jiān)牢的瞬間乞娄,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工显歧, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留仪或,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓士骤,卻偏偏與公主長得像范删,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子拷肌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353

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