创建develop分支
- git branch develop
- git push -u origin develop
开始新feature开发
- git checkout -b feature/name_v1.0.0 develop # 基于develop分支创建feature功能分支
- git push -u origin 分支名称 #将feature分支推送到远程 [可选,取决于这个需求是否需要其他人参与协作] 对应 git flow publish feature_name 命令 拉取 git flow feature track feature_name
完成feature
- git pull origin develop && git checkout develop #拉取远端最新develop分支并切换 [为了后面的合并feature工作]
- git merge --no-ff feature分支的名称 # develop 合并 feature
- git push origin develop #提交feature的更改到develop分支
- git branch -d 分支名称 #删除本地分支
- git push origin --delete 分支名称 #删除远程分支 [如果远程存在]
创建release分支
- git checkout -b 分支名称 develop #从develop分支创建 release 分支
完成release分支
- git pull origin develop && git checkout develop && git merge --no-ff 分支名称 && git push origin develop #合并 release 分支 到 develop
- git pull origin master && git checkout master && git merge --no-ff 分支名称 && git push origin master #合并 release 分支到 master
- git branch -d 分支名称 && git push origin --delete 远程分支名称 #删除本地和远程 release 分支
创建hotfix分支
- git checkout -b 分支名称 master
完成hotfix分支
- git pull origin develop && git checkout develop && git merge --no-ff 分支名称 && git push origin develop #合并 hotfix 分支到 master
- git pull origin master && git checkout master && git merge --no-ff 分支名称 && git push origin master #合并 hotfix 分支到 maste
- git branch -d 分支名称 #删除hotfix分支
- git tag -a v1.4 -m 'my version 1.4' #给版本打tag
- git push --tags #提交所有包括tag
原则:确保不上的代码不会流入到develop或者master就好了 , 可以存在于feature/* , release/* , hotfix/* 这三个分支的主场中 [ 因为这三个分支都是辅助分支,独立。而主线分支 develop与master会影响到所有人的代码开发版本问题 ], 这样预发环境与生产环境都采用master分支也完全ok
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1.删除本地分支 git branch -d branch_name
2.删除远程分支 git branch -r -d origin/branch-name && git push origin :branch-name
3.如果远程新建了一个分支本地没有该分支 git checkout --track origin/branch_name
4.如果本地新建了一个分支 branch_name但是在远程没有 git push --set-upstream origin branch_name