merge(Git)
merge
合併不同branch到新commit
要合併的分支稱為「theirs」、被合併的則為「ours」
會將theirs裡的不同內容自動加進ours
如果兩者都有對同一處進行修改,就會發生衝突
處理衝突
$ git status
使用status(Git)確認狀況
$ git merge-base master develop
確認發生衝突的commit
$ git diff
確認修改內容
開啟檔案、修改完畢之後就可繼續merge
$ git merge --continue
或使用編輯工具
$ git mergetool
fast-forward merge
HEAD所在branch與合併目標branch於同一條線上
會將branch的commit記錄合併到到目標進度上
不會發生衝突
預設使用此方式
non fast-forward merge
HEAD所在branch與合併目標branch於不同線上
會保留branch上的commit記錄,並新增一個merge commit
$ git merge branch --no-ff
合併遠端變更
$ git merge remote_resository/branch_name
Git指令