簡單來說,分成三個階段:
- 將自己分支的本地端和遠端同步。
- 將主分支合併到自己的主分支,並讓本地端和遠端同步。將主分支合併到自己的主分支,並讓本地端和遠端同步。
- 將自己分支合併到主分支。
假設公司的主要分支叫做 main,而我現在在開發的分支叫做 feature/login,那我要怎麼把我現在的分支合併到 main?
首先,要先讓自己的分支是乾淨的,也就是要在 feature/login 執行:
git pull
git push
執行完之後,現在本地端和遠端的 feature/login 是同步的。
接著,要把遠端最新的 main 給拉到本地端,執行:
git fetch origin main
此時,我的本地端就有最新的 feature/login 和 origin/main。
接著就是要把這兩個分支合併起來。在 feature/login 分支上執行:
git merge origin/main
這個指令是要將剛剛從遠端啦過來的最新的 main 合併到我的 feature/login。
此時,可能會發生所謂的「衝突」(Conflict),這是因為你跟別人可能有改到同一個檔案。因此,所謂的「解衝突」就是要決定說,在這個檔案裡面,兩個檔案不一樣的地方要選擇哪一個。
當解完衝突之後,再執行:
git push
這時候,你是將你的 feature/login 分支(其中也包含 main 的部分)給推到遠端程式碼上面。
此時可以檢查 Commit 記錄。所謂的 Commit 記錄就是每一次程式碼提交的「截圖」。
若 main 最新的 Commit 記錄有包含在 feature/login 的 Commit 記錄裡面,那就代表你的 feature/login 已經包含了 main,這時就可以發出合併請求(Merge Request),等待主管同意。