每次改完引擎代码要提交merge request(以下简称mr) 时都感觉自己手忙脚乱的, 需要各种网上查, 因此用本文记录一下流程, 非泄密文!!!
1. 合并自己的开发分支(假设叫dev) 的commit.
在开发过程中免不了会在一个功能开发点上产生多个commit, 因此需要在提交mr之前进行合并,
git rebase -i HEAD~x
其中x表示相关的commit数量. 输完该指令以后会弹出一个编辑窗口, 一般来说把第一条commit记录标记为pick(直接标记为p也可以), 后面的commit记录均标记为s, 表示把第二条以后的commit都往第一条commit上合并.
如果不做本步骤, 后面在往其它分支rebase的时候会把自己的多条commit记录也给rebase过去, 导致提交mr时自己的commit记录很乱.
2. 修改最后一次commit信息.
git commit --amend
3. 创建提交分支.
git checkout -b commitXXXX git fetch upstream master git reset --hard FETCH_HEAD
其中commitXXXX是提交分支的名字, 这样的命名方式属于个人习惯叭, 也是导师教我的, XXXX是日期. 通过上述三行git命令便可以创建出一条最新的干净分支.
4. rebase.
git checkout dev git rebase commitXXXX
执行上述两行git命令以后便变基成功了, 若中间发生冲突, 则可以在解决完冲突以后, 重新使用git add命令把改动添加回来, 然后使用下述命令继续rebase.
git rebase --continue
5. merge.
在rebase完以后dev分支的改动便都会移动到commitXXXX分支的改动之后, 因为是顺序的改动提交, 所以接下来的merge应该不会产生新的merge提交.
git checkout commitXXXX git merge dev git push origin commitXXXX
至此, 就是一个完整的准备用于提交mr的提交分支的流程了. 后续若在提交mr过程中遇到什么新的问题, 会继续更新本文把问题记录下来~(^-^)V