GitFlow工作流和git命令你看不懂?

在这里插入图片描述
先放一个gitflow的流程图:

  1. Master分支,这个分支最近发布到生产环境的代码,最近发布的Release(新功能), 这个分支只能从其他分支合并,不能在这个分支直接修改,该分支代表着线上最新代码。
  2. Develop 分支,这个分支是我们的主开发分支,包含所有要发布到下一个Release的代码,这个主要合并与其他分支,比如Feature分支,所有要发布的功能完成后将该分支合并到Master分支上线
  3. Feature 分支,这个分支主要是用来开发新的功能,开发完成合并回Develop分支
  4. Release分支,测试分支,当你需要尽心新功能测试的时候,合并完Feature 分支到Develop 分支后,我们基于Develop分支创建一个Release分支,完成Release后,我们合并到Develop分支
  5. Hotfix分支,在Master发现新的Bug时候(也就意味着线上代码出现紧急bug,不能等到下个版本修复和新的Feature 分支一起开发修复),我们需要创建一个Hotfix, 完成Hotfix后,我们合并回Master紧急发布修复版本,同事合并到Develop分支保持后续Release分支开发的完整性

其实有经验的大概看这些就能理解大概的工作流了,至于具体的比如Feature 分支之间的合作,Feature 分支和Develop 分支合并的合作,Release分支和Develop 分支合并的合作具体细节大家可以再去了解一下其他文章。

然后是这些流程中常用的git操作:

  • 创建develop分支
	git branch develop  //创建本地分支
	git push -u origin develop    //推送本地分支到远程,创建远程新分支
  • 开始新Feature开发
	git checkout -b new-feature develop //new-feature为新分支名字
  • 完成Feature
git pull origin develop  //拉取远程develop更新
git checkout develop  //本地切换到develop
git merge --no-ff new-feature  //本地合并new-feature到develop
git push origin develop

git branch -d some-feature   //本地删除new-feature
  • 开始Relase
git checkout -b release-0.1.0 develop 

  • 完成Release
git checkout master //合并到master,更新远程,用于上线
git merge --no-ff release-0.1.0
git push

git checkout develop //合并到develop ,更新远程,用于后续开发完整性
git merge --no-ff release-0.1.0
git push

git branch -d release-0.1.0

git tag -a v0.1.0 master //打上标签
git push --tags
  • 开始Hotfix
git checkout -b hotfix-0.1.1 master    
  • 完成Hotfix
git checkout master //合并到master,更新远程,用于上线紧急修复
git merge --no-ff hotfix-0.1.1
git push


git checkout develop  //合并到develop ,更新远程,用于后续开发完整性
git merge --no-ff hotfix-0.1.1
git push

git branch -d hotfix-0.1.1

git tag -a v0.1.1 master //打上标签
git push --tags
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章