Git的flow
流程?
?分支
? ? ? ?Feature branches?
? ? ? ?Release branches
? ? ? ?Hotfix branches
Feature branches?
? ? ?可以產生于:develop
? ? ?必須合并到:develop
? ? ?分支命名約定:除了master, develop, release-, or hotfix-?都可以,前面幾個作為保留。
? ? ?功能分支用于開發未來的一項功能,這個分支最終會被合并回develop(采用了)或者被拋棄,就是程序員自己的分支 哭!
? ? ??
? ??
這個是創建功能分支,進行開發新的功能了 $ git checkout -b myfeature develop Switched to a new branch "myfeature"這個是進行合并分支,是被合并的 $ git checkout develop Switched to branch 'develop' $ git merge --no-ff myfeature Updating ea1b82a..05e9557 (Summary of changes) $ git branch -d myfeature Deleted branch myfeature (was 05e9557). $ git push origin developRelease branches
可以產生于:develop
必須合并到:develop和master分支
分支命名約定:release-*
這里主要用于準備一個發布版的功能已經開發完成,等待一些信息最后的確認,
為了不影響下一個開發版的正常進行,打出一個發布分支。與功能分支的區別是功能分支是要開發的ing的,發布分支是已經發布好了的,等待合并到dev和matser的,所以發布分支更加的完備一些的。
創建發布分支 $ git checkout -b release-1.2 develop Switched to a new branch "release-1.2" $ ./bump-version.sh 1.2 Files modified successfully, version bumped to 1.2. $ git commit -a -m "Bumped version number to 1.2" [release-1.2 74d9424] Bumped version number to 1.2 1 files changed, 1 insertions(+), 1 deletions(-)合并到master分支 $ git checkout master Switched to branch 'master' $ git merge --no-ff release-1.2 Merge made by recursive. (Summary of changes) $ git tag -a 1.2合并到dev分支 $ git checkout develop Switched to branch 'develop' $ git merge --no-ff release-1.2 Merge made by recursive. (Summary of changes)刪除分支 $ git branch -d release-1.2 Deleted branch release-1.2 (was ff452fe).hotfix branches
可以產生于:master
必須合并到:develop和master分支
分支命名約定:hotfix-*
主要用于對線上代碼進行熱修復用,線上代碼出現了問題,開出一個分支進行修復,等修復完成,合并回master和develop.
基于master進行創建分支熱修復分支 $ git checkout -b hotfix-1.2.1 master Switched to a new branch "hotfix-1.2.1" $ ./bump-version.sh 1.2.1 Files modified successfully, version bumped to 1.2.1. $ git commit -a -m "Bumped version number to 1.2.1" [hotfix-1.2.1 41e61bb] Bumped version number to 1.2.1 1 files changed, 1 insertions(+), 1 deletions(-)修復完成合并回去master分支 $ git checkout master Switched to branch 'master' $ git merge --no-ff hotfix-1.2.1 Merge made by recursive. (Summary of changes) $ git tag -a 1.2.1修復完成合并會dev分支 $ git checkout develop Switched to branch 'develop' $ git merge --no-ff hotfix-1.2.1 Merge made by recursive. (Summary of changes)刪除熱修復分支 $ git branch -d hotfix-1.2.1 Deleted branch hotfix-1.2.1 (was abbe5d6).總結
- 上一篇: Git的stash
- 下一篇: Git分支操作命令:删除与恢复