git上始終保持兩個分支,
master
分支主要用於發布時使用,而develop
分支主要用於開發使用。
除了以上兩個常駐分支外,我們還可以適當分支出三種分支:
這三種分支使用完後也該刪除,保持兩個常駐分支。git主分支的名字,預設叫做master。它是自動建立的,版本庫初始化以後,預設就是在主分支在進行開發。
主分支只用來分布重大版本,日常開發應該在另一條分支上完成。我們把開發用的分支,叫做develop。
這個分支可以用來生成**的最新隔夜版本(nightly)。如果想正式對外發布,就在master分支上,對develop分支進行」合併」(merge)。
# 建立master的分支develop
git checkout -b develop master
# 切換到master分支
git checkout master
# 合併develop分支到master
git merge --no-ff develop
這裡稍微解釋一下,上一條命令的–no-ff引數是什麼意思。預設情況下,git執行」快進式合併」(fast-farward merge),會直接將master分支指向develop分支。
使用–no-ff引數後,會執行正常合併,在master分支上生成乙個新節點。為了保證版本演進的清晰,我們希望採用這種做法。關於合併的更多解釋,請參考benjamin sandofsky的《understanding the git workflow》。
該分支從develop
中分支出來,開發完成後再合併入develop
,名字採用feature-*
的形式命名。
# 建立功能分支:
git checkout -b feature-x develop
# 開發完成後,合併到develop分支:
git checkout develop`
git merge --no-ff feature-x
# 最後刪除分支:
git branch -d feature-x
正是版本發布前,既合併到master
分支前,因此預發布分支是從develop分支出來的,預發布後,必修合併進develop
和master
。命名採用release-*
的形式。
# 建立乙個預發布分支:
git checkout -b release-1.2 develop
# 確認版本沒有問題後,合併到master分支:
git checkout master
git merge --no-ff release-1.2
# 對合併生成的新節點,做乙個標籤:
git tag -a 1.2
# 再合併到develop分支:
git checkout decelop
git merge --no-ff release-1.2
# 最後刪除分支:
git branch -d release-1.2
最後一種是修補bug分支。軟體正式發布以後,難免會出現bug。這時就需要建立乙個分支,進行bug修補。
主要用於修改bug的分支,從master
分支分出來,修補後,在合併進master和develop
分支。命名採用fixbug-*
形式。
# 建立乙個修補分支:
git checkout -b fixbug-* master
# 修補結束後,合併到master分支:
git checkout master
git merge
--no-ff fixbug-*
git tag -a
0.1.1
# 再合併到develop分支:
git checkout develop
git merge
--no-f fixbug-*
# 最後刪除分支:
git branch -d fixbug-*
參考資料
git - 簡易指南
git分支管理策略
git開發最佳實踐
git工作流指南
Git 合併分支 推送分支
1 本地倉庫與遠端倉庫同步,提取所有它獨有的資料到本地分支,供後續操作。git fetch origin2 把遠端倉庫中分支名為aimbranch中的 合併到本地倉庫中你當前所在的分支上。git merge no ff origin aimbranch3 把本地倉庫中你所在的分支中的 推送到遠端倉庫...
Git分支管理,建立分支
該鏈結博主詳細的描述了git 最主要的一句話 在不同的分支進行版本管理,只有在自己的分支上才會生效 合併衝突 修改主分支檔案 合併兩個或多個分支 建立乙個分支,在主分支master上切出乙個開發分支 git checkout b 分支名稱建立好新分支後,你現在所有的操作都是在新分支上進行 git b...
Git建立分支管理分支
一 clone repository clone github 上的repository,如下 git clone git github.com fbing design patterns.git 1二 管理分支 1 檢視分支 1 檢視本地分支 使用 git branch命令,如下 git bran...