Git的flow
流程?
?分支
? ? ? ?Feature branches?
? ? ? ?Release branches
? ? ? ?Hotfix branches
Feature branches?
? ? ?可以產(chǎn)生于:develop
? ? ?必須合并到:develop
? ? ?分支命名約定:除了master, develop, release-, or hotfix-?都可以,前面幾個作為保留。
? ? ?功能分支用于開發(fā)未來的一項功能,這個分支最終會被合并回develop(采用了)或者被拋棄,就是程序員自己的分支 哭!
? ? ??
? ??
這個是創(chuàng)建功能分支,進(jìn)行開發(fā)新的功能了 $ git checkout -b myfeature develop Switched to a new branch "myfeature"這個是進(jìn)行合并分支,是被合并的 $ 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
可以產(chǎn)生于:develop
必須合并到:develop和master分支
分支命名約定:release-*
這里主要用于準(zhǔn)備一個發(fā)布版的功能已經(jīng)開發(fā)完成,等待一些信息最后的確認(rèn),
為了不影響下一個開發(fā)版的正常進(jìn)行,打出一個發(fā)布分支。與功能分支的區(qū)別是功能分支是要開發(fā)的ing的,發(fā)布分支是已經(jīng)發(fā)布好了的,等待合并到dev和matser的,所以發(fā)布分支更加的完備一些的。
創(chuàng)建發(fā)布分支 $ 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
可以產(chǎn)生于:master
必須合并到:develop和master分支
分支命名約定:hotfix-*
主要用于對線上代碼進(jìn)行熱修復(fù)用,線上代碼出現(xiàn)了問題,開出一個分支進(jìn)行修復(fù),等修復(fù)完成,合并回master和develop.
基于master進(jìn)行創(chuàng)建分支熱修復(fù)分支 $ 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(-)修復(fù)完成合并回去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修復(fù)完成合并會dev分支 $ git checkout develop Switched to branch 'develop' $ git merge --no-ff hotfix-1.2.1 Merge made by recursive. (Summary of changes)刪除熱修復(fù)分支 $ git branch -d hotfix-1.2.1 Deleted branch hotfix-1.2.1 (was abbe5d6).總結(jié)
- 上一篇: Git的stash
- 下一篇: 招行海绵宝宝卡免费吗