第一步
在github中創(chuàng)建一個(gè)新的倉庫汛蝙,這時(shí)候項(xiàng)目是空的省咨,而且只有一個(gè)master分支
第二步
第一個(gè)開發(fā)人員進(jìn)來了腮敌,他在本地創(chuàng)建一個(gè)develop分支竖瘾,并且提交到遠(yuǎn)程
git branch develop
git push -u origin develop
現(xiàn)在線上就有兩個(gè)分支master 和 develop 現(xiàn)在這兩個(gè)分支里面都是空的
第三步
一、二步完成后组底,任何一個(gè)參與該項(xiàng)目的開發(fā)人員首先要做的就是從develop分支上切一個(gè)新分支進(jìn)行功能開發(fā)
git checkout -b <本地分支名 feature/***> <origin/develop>
或者
git fetch origin 遠(yuǎn)程分支名:本地分支名
git branch --set-upstream-to=origin/遠(yuǎn)程分支名 本地分支名
然后進(jìn)行開發(fā)丈积,開發(fā)差不多,想提交一下
git status
git add
git commit
第四步
經(jīng)過第三步斤寇,提交了幾次后桶癣,感覺差不多了,就可以合并到develop分支
git pull origin develop //先拉取develop中的代碼娘锁,因?yàn)橛锌赡軇e人已經(jīng)往上提交過代碼了
git checkout develop//切到develop分支
git merge <feature/**>//合并feature/**中的代碼到develop中
git push //提交到develop遠(yuǎn)程分支上
git branch -d feature/** //刪除本地的分支
第五步
某一個(gè)開發(fā)人員想發(fā)布,但是其他人員還在進(jìn)行開發(fā)饺鹃,先不管別人莫秆,他先建立一個(gè)新的分支做發(fā)布準(zhǔn)備
git checkout -b <本地分支名realse-0.1> <遠(yuǎn)程分支名develop>//注意這個(gè)realse-tagNo分支的功能是對(duì)發(fā)布的代碼進(jìn)行改善的地方
創(chuàng)建這個(gè)分支相當(dāng)于測(cè)試環(huán)境修改,改好后就需要跟新master和develop,然后刪除分支
git checkout master//切到master分支
git merge release-0.1//將release分支合到master上
git push//將合完的代碼提交到遠(yuǎn)程master
git checkout develop//切到develop分支
git merge release-01//將release分支上的代碼合到develop分支上
git push//合完的代碼推送到遠(yuǎn)程的develop分支
git branch -d release-01//刪除本地release分支
第六步
打tag追蹤悔详,這個(gè)過程不太了解
git tag -a -0.1 -m 'xxxxxx'
git push --tags
Git有提供各種勾子(hook)镊屎,即倉庫有事件發(fā)生時(shí)觸發(fā)執(zhí)行的腳本
∏洋Γ可以配置一個(gè)勾子缝驳,在你push中央倉庫的master分支時(shí),自動(dòng)構(gòu)建好對(duì)外發(fā)布
難道這就是傳說中的自動(dòng)化構(gòu)建归苍?用狱??
第七步
線上環(huán)境發(fā)現(xiàn)bug了
git checkout -b hotfix/xxx master//從master分支上新建分支
然后開始改bug,改完后
git checkout master//切回master分支
git merge hotfix/xxx//將改完bug后的代碼合并到master
git push
改完bug的代碼還要合到develop中
git checkout develop
git merge hotfic/xxx
git push
git branch -d hotfix/xxx