Skip to main content

Merge

Git merge 基本流程

在一般的開發流程,建立新分支來開發新功能或修復 bug,在分支完成開發後,最後會將分支的內容合併到主分支 (main/master)。

    git merge <branch-name> : 合併分支 <branch-name> 至目前分支 git merge --abort : 放棄目前的合併

    分支 fix_something 合併指令

    git checkout main
    git merge fix_something

    合併後如果系統顯示 Merge conflict,必須依照訊息找出檔案(some.py)裡衝突的內容,進行手動修正。

    some.py 衝突內容範例:

      <<<< HEAD : 目前分支 (main) 的內容 >>>> fix_something: 要合併的分支 (fix_something) 內容
      <<<<<<< HEAD         
      print("Keep me!")
      =======
      print("No, keep me instead!")
      >>>>>>> fix_something

      完成後,依序再執行:

      git add some.py
      git status
      # Check if the conflict has been fixed
      git commit

      檢視合併的紀錄

      git log --graph --oneline

      如果合併檔案的衝突內容太複雜,且無法有效地修正,可以使用以下指令,放棄這次分支的合併,並且讓專案回到合併前的內容。

      git merge --abort