每個學 Git 的人,第一次看到終端機跳出 CONFLICT (content): Merge conflict in... 時,心裡大概都會涼了一半。感覺就像是程式世界世界末日降臨,深怕一個不小心把整個專案毀了。但實際上,「合併衝突」其實是團隊協作中再自然不過的日常風景。
簡單來說,衝突發生的原因很單純:當你和夥伴同時修改了「同一個檔案的同一行程式碼」,Git 夾在中間不知道該聽誰的,只好舉手投降並把皮球踢回給你。這時候,打開衝突的檔案,你會看到 Git 貼心地幫你用 <<<<<<<、=======、>>>>>>> 劃分出「你的版本」與「別人的版本」。你需要做的,就是像個公正的法官一樣,手動刪掉這些奇怪的符號,決定究竟要保留哪一方(或是兩者融合),然後重新 add 並 commit。
學會解衝突,就像是拿到了解除危機的拆彈專家執照。它並不可怕,反而證明了你正在和團隊一起熱火朝天地打造偉大的專案!