上边是vue项目的git commit记录,一个commit是一个需求或者修复一个bug,是不是感觉特别清晰
总结一下git rebase相对与git merge的优势所在
-
一条commit就代表一个需求,commit信息清晰
-
code review或者定位问题方便
梳理一套git rebase提交的流程,方便后期使用
dev设置为保护分支
防止一些研发私自合并影响重要功能
日常开发
日常开发流程,需求开始拉取分支--->需求开发中提交一顿提交--->需求测试完毕合并到主分支
- 需求开始,更新主分支代码,拉取你的分支
git pull origin dev
git checkout -b XXX
- 日常开发提交
git add .
git commit -m "提交注释信息"
git push origin XXX
测试完成commit合并为一条
- 添加合并commit命令
方案1: git rebase -i HEAD~3 // 3代表合并commit的次数
方案2: git rebase -i commitId // git log可以显示所有commitId,这个commitId为开始合并的第一个
- 进入vi编辑模式,s为合并为上一条提交
- vi非编辑模式下dd可以删除一行。:wq 保存之后进入合并注释阶段,保留一个合并的注释
- git log已经合并为一个commit了
将自己的分支rebase到最新的分支
- 自己的分支rebase到最新的主分支
git fetch origin dev
git rebase dev // 如果冲突,走下边2
git push -f origin XXX // rebase 成功后,暴力推送到当前分支。不走commit
- 如果在rebase主分支出现冲突
手动解决冲突
git add .
git rebase --continue // 合并冲突,如果还有冲突可以继续走这个流程
git push -f origin XXX // rebase 成功后,暴力推送到当前分支。不走commit
gitlab提交merge request请求
- 登陆gitlab选择你合并的项目>Merge Request>New merge request
- 添加合并、合并目标的项目和分支
- 可以修改下标题
- 提交merge request请求后成功
合并主分支
项目管理员审核过你的pr后同意你的合并,便会显示到dev分支的commit记录中