远程origin仓库一般有三类分支
origin/master:主干分支
origin/dev:开发分支
origin/release:发布分支
本地个人开发分支有三类
feature/:新功能开发分支
bugfix/:bug修复分支
hotfix/:热更新分支
完整工作流
1.克隆一个本地仓库
git clone git@gitlab.liebaopay.com:pc_duba/ai_duba/client.git
先通过git clone,克隆一个本地仓库,默认是在master分支下
2.创建本地分支并追踪远程分支
git checkout -b feature/sycdev_250713 origin/guofang_dev_0711 // 开发新功能分支
git checkout -b fixbug/sycdev_250713 origin/guofang_dev_0711 // bug修复分支
git checkout -b houfix/sycdev_250713 origin/guofang_dev_0711
创建一个本地分支feature/sycdev_250713并追踪远程的origin/guofang_dev_0711分支
设置的这个追踪分支就是你要最后MR(merge request)的分支
// 查看本地分支和远程分支的追踪状态
git branch -vv
3.进行本地开发
工作区
||
git add .
暂存区
||
git commit -m "description"
本地仓库/版本库
每一步的时候可以结合git status看下状态
4.本地分支推送远程分支
<注意>
设置追踪分支的好处就是git push 和 git pull的时候不用指定远程分支了
git push 之前一定要 git pull 一下(防止你不是基于最新版本的分支进行的修改)
git pull时候有冲突就解决下,一般都会自动合并滴
git push origin feature/sycdev_250713:feature/sycdev_250713(√)
git push origin feature/sycdev_250713:origin/guofang_dev_0711(×)
不能直接推送到远端仓库的dev分支上,因为代码要进行评审
5.合并请求(Merge Request)和代码审查(Code Review)
【MR】在gitlab上,发起合并请求,将feature/sycdev_250713分支的代码合并到origin/guofang_dev_0711上
【CR】提醒相关负责人
6.删除个人在远程仓库创建的分支
// 推送一个空的分支到之前创建的远程分支上 相当于 删除了该分支
git push origin :feature/sycdev_250713