天天看點

Git 分支

分支的概念

  • 在版本控制過程中,可以同時推進多個任務,每個任務都可以建立單獨的分支。
  • 以遊戲舉例,一款遊戲的運作作為主線分支,如果遊戲中出現bug,分出一個分支來修複遊戲中的bug,同時遊戲的主線分支不會受到影響,當熱修分支中的bug被修複後合并到主線分支中,産生新的遊戲版本。如果想為遊戲添加新的功能,也可以分出一個分支來進行設計,當功能成熟時即可合并到主線分支中。
    Git 分支
  • 分支底層邏輯:指針的引用

分支的好處

  • 同時并行推進多個功能開發,提高開發效率
  • 各個分支在開發過程中,其中一個分支開發失敗,不會影響到其他分支。

分支的操作

檢視分支

  • 文法
git branch -v      
  • 示例
    Git 分支

建立分支

git branch 分支名      
  • Git 分支

切換分支

  • 本質是隻針對的移動,

    HEAD

    指向哪個分支,就在哪個分支上。
git checkout 分支名      
  • Git 分支

修改分支

  • 修改

    fixbug

    分支下的檔案
    Git 分支
  • 檢視

    fixbug

    中的檔案内容
    Git 分支
  • master

    Git 分支

删除分支

git branch -d 分支名      
  • Git 分支

合并分支

git merge 分支名 // 把指定分支合并到目前分支上      
  • Git 分支

解決沖突

  • 合并分支時,如果同一檔案在兩個不同分支上都做了不同的修改,需要人為決定新檔案的内容。
    Git 分支
  • 編輯檔案,留下自己需要的部分
    Git 分支
    Git 分支
  • 添加暫存區、送出本地庫
    Git 分支
    送出本地庫的時候不需要添加檔案名,否則會報錯
  • 解決沖突後的檔案
    Git 分支

分支類型

  • master

    分支(主分支):穩定版本
  • develop

    分支(開發分支):最新版本
  • release

    分支(釋出分支):釋出新版本
  • hotfix

    分支(熱修複分支):修複線上Bug
  • feature

    分支(特性分支):實作新特性