git多次提交合并为一次提交(git rebase)

简介: git多次提交合并为一次提交(git rebase)

前言


在平时生产环境中测试和线上一般都是两个分支, 然后线上分支每一次提交都会加上锁, 需要运维部署jenkins去解锁部署代码重启服务, 但是平时在测试分支上完成功能可能需要多次commit提交测试环境测试功能, 提交正式分支的时候因为锁的存在就比较麻烦了, 所以需要把测试环境的多次commit合成一个commit提交正式分支, 这时就用到了git rebase


过程

20190524152434415.png


我现在有3个提交, 我需要合并这3个提交为一个提交

20190524152224971.png

执行这个命令, 合并几个就写几

20190524152503469.png

执行后会进入合并过程, 把除了第一个的pick其他全部改为s

2019052415255753.png

然后wq保存, 保存后会出现另一个界面, 合并修改这几次提交的commit信息

20190524152656648.png

我一般都是把中间的注释干掉, 然后保留我之前的commit, 或者你把所有的都删除在重写这次的提交注释信息也行

20190524152829406.png20190524152849418.png


这样就ok了, pull, push就可以了, 然后在另一个分支直接cherry-pick这个提交就可以了

20190524153045106.png


注意: 如果中间夹杂了别人的commit也可以直接把自己的所有commit都cherry-pick到线上分支, 不push也可以有用git rebase合成一个commit提交


目录
相关文章
|
6月前
|
开发工具 git
git merge和git rebase异同
git merge和git rebase异同
168 0
|
6月前
|
JSON 开发工具 git
git rebase 合并当前分支的多个commit记录
git rebase 合并当前分支的多个commit记录
119 1
|
5月前
|
开发工具 git 开发者
【git merge/rebase】详解合并代码、解决冲突
【git merge/rebase】详解合并代码、解决冲突
550 0
|
3月前
|
开发工具 git 开发者
|
2月前
|
网络性能优化 开发工具 git
使用git rebase --onto一例
使用git rebase --onto一例
|
5月前
|
安全 开发工具 git
蓝易云 - git rebase和merge区别
在选择使用Merge还是Rebase时,需要根据具体的工作流程和团队的规定来决定。一般来说,如果你想保持完整的历史记录并且避免可能的冲突,你应该使用Merge。如果你想要一个干净的、线性的历史记录,你可以使用Rebase。
47 4
|
4月前
|
开发工具 git 开发者
git IDEA的分支合并时的冲突问题总结,merge和rebase的区别
冲突的处理需要开发者之间的充分沟通以及对项目历史的细致理解。选择Merge或Rebase取决于具体的工作流程和团队偏好,但最重要的是保持代码库的整洁与一致性。使用IDEA等工具可以提高处理合并冲突的效率,但手动解析冲突和理解操作背后的逻辑仍然是不可或缺的。最终目标是通过有效的版本控制实践,促进项目的顺利进行和团队协作的高效。
292 0
|
6月前
|
开发工具 git
git pull之后出现REBASE(1/1)
git pull之后出现REBASE(1/1)
386 3
|
6月前
|
开发工具 git 开发者
【专栏】探讨了 Git 中的 `git rebase` 操作,它用于重新应用提交到另一分支,改变历史顺序
【4月更文挑战第29天】本文探讨了 Git 中的 `git rebase` 操作,它用于重新应用提交到另一分支,改变历史顺序。与 `git merge` 不同,rebase 重写提交历史,提供简洁线性的历史记录。文章介绍了 rebase 的基本操作、应用场景,如整理提交历史、解决冲突和整合分支,并强调了使用注意事项,如避免在公共分支上操作。尽管 rebase 可以带来整洁的历史和冲突解决便利,但其潜在的风险和可能导致的历史混乱需谨慎对待。理解并恰当使用 `git rebase` 可以提升开发效率和代码质量。
189 1