上一个Git flow的流程图

Git flow
Sourcetree帮助我们理解这个过程Sourcetree操作,命令是实际执行的)log-servicemkdir log-service
cd log-service
git init
Sourcetree
echo "## log-service" > README.md
git add README.md`
git commit -m "init project"git flow init)
Sourcetree
git flow feature start show-log)show-logdevelop上检出分支
Sourcetree

Sourcetree
echo "collect show log" > show.log
git add show.log
git commit -m "add: show loggit flow feature finish show-log)show-log分支就被合并到develop分支,然后同时删除show-log分支
Sourcetree

Sourcetree

Sourcetree
click-log-1和click-log-2git flow feature start click-log-1
git flow feature start click-log-2
git checkout feature/click-log-1
echo "click 1 log" > click.log
git add click.log
git commit -m "add: click log"
git checkout feature/click-log-2
echo " first \n click 2 log" > click.log
git add click.log
git commit -m "add: click log"click.log增加了内容, 我们进行完成功能操作git flow feature finish click-log-1git flow feature finish click-log-2click-log-1正常, 但是完成click-log-2会给我们报代码冲突click-log-2分支的代码也修改了click.log文件click-log-2之后, 并没有帮我们删除掉这个分支git flow feature finish实际上执行的是git checkout develop
git merge feature/<feature_name>
git branch -d feature/<feature_name>click-log-2分支即可git branch -d feature/click-log-2
Git

Sourcetree
git flow release start v1.0.0)

Bug, 是可以直接在release分支修改, 修改完成之后, 直接发布, 会自动合并回develop和master分支Bug, 然后处理echo "release v1.0.0" > release.loggit add release.loggit commit -m "fix: release bug"git flow release finish v1.0.0)

git flow hotfix start click-log)
Sourcetree

Sourcetree
feature的流程太麻烦, 所以引申出修复补丁, 快速解决的办法master上检出分支echo "fix click log" >> click.loggit add click.loggit commit -m "fix: click log"git flow hotfix finish click-log)
start, finish还有一个publish操作publish也是几个命令的流程操作,git glow feature publish <feature_name>feature/<feature_name>的远程分支。track上述远程分支。push代码,则执行pushrelease publish略有不同, 可查看https://www.git-tower.comfeature需要多人一同开发, 则需要推送多人协作的时候,应由仓库(项目)管理员来创建master分支并在本地初始化好GitFlow后一并将master和develop分支推送到远程仓库(master分支默认有写保护,只有创建者才能写入推送,其他协作者只能pull拉取)。其他协作者将项目克隆下来,同样要记得初始化GitFlow,注意配置要保持一致。其他协作者在本地完成feature开发,然后推送到develop分支,由项目管理员来负责发布release分支和发布新版本
Gitflow 使用最强指北 git flow工作流及sourcetree实现 https://www.git-tower.com