是 Ray 不是 Array

整理這些技術筆記真的很花時間,如果你願意 關閉 Adblock 支持我,我會把這份感謝轉換成更多「踩坑轉避坑」的內容給你!ヽ(・∀・)ノ

Advertisement
2019-06-21 Git

GitHub 發生衝突該如何解決

前言

當參加團隊專案開發的時候,其實很容易發生程式碼衝突問題,那這邊就來講一下該如何解除衝突吧~

起手式

首先要解決衝突之前我們必須先製造衝突,別懷疑你沒看錯,有衝突你才知道怎麼玩~
(為了製造衝突都練就知道該如何惡意製造衝突給同事了)

這邊一樣召喚這個專案作範例

先來講講為什麼會發生衝突,首先 Git 衝突大多來自同一個時間修改同一支檔案導致,所以在團隊合作下通常會做好溝通,盡可能不要修改到同一支檔案,但是有些時候是特殊原因而導致,那就來試著學習該如何解決衝突吧~

衝突解決

首先我這邊直接快轉到發生衝突,前面就不多述了,當我們 Fork & clone 專案也做了修改,準備發 PR 回去給原專案作者時卻發生衝突

發生衝突
發生衝突

那這時候我們要替 clone 下來的專案做 git 處理,接下來讓我們依照流程來操作吧~

第一步驟 設置 Upstream

首先開啟原專案的 repo,然後複製 clone 網址

Image
Image

接下來在指令視窗輸入

1
git remote add upstream https://github.com/jc-eng/test-repos.git

git remote add [遠端名稱] [遠端網址]

接下來我們就可以透過輸入 git remote 查看目前有哪幾個遠端分支
(upstream 是原專案的專案路徑,origin 則是我們 Fork 過來的專案路徑)

遠端分支
遠端分支

第二步驟 更新專案

由於我們發 PR 回去給作者會發生衝突,所以我們必須更新專案到自己的本地端,只需要輸入

1
git pull upstream master

接下來你就會看到這個畫面

pull 專案
pull 專案

如果兩者變更你都要保留,那就按下”接受兩者變更”,這樣兩者就會保留下來

接受兩者變更
接受兩者變更
接受兩者變更
接受兩者變更

但是如果你要保留對方的,那就按下 “接受來源變更”

接受來源變更
接受來源變更
接受來源變更
接受來源變更

又如果(好多如果)你是要保留你自己而不是對方的,那就按下 “接受當前變更”

接受當前變更
接受當前變更
接受當前變更
接受當前變更

(通常都會是兩者變更都接受)

最後一步驟 重新 push 回自己專案

當你修改完衝突部分後,就可以準備重新 push 回自己專案

1
2
3
git add .
git commit -m '解決衝突'
git push origin master

這時候再試著發送 PR 看看,就可以發現衝突解決,可以正常合併囉~

Image
Image
你的支持會直接轉換成更多技術筆記

如果我的筆記讓你少踩一個坑、節省 Debug 的時間,
也許你可以請我喝杯咖啡,讓我繼續當個不是 Array 的 Ray ☕

buymeacoffee | line | portaly
Terminal

整理這些技術筆記真的很花時間,如果你願意 關閉 Adblock 支持我,我會把這份感謝轉換成更多「踩坑轉避坑」的內容給你!ヽ(・∀・)ノ

Advertisement

分享這篇文章

留言

© 2026 Ray. All rights reserved.

Powered by Ray Theme