合并代码还在用 git merge 吗?互联网公司都用 git rebase!


合并代码还在用 git merge 吗?互联网公司都用 git rebase!来源 | juejin.cn/post/7001409038307033119

  • 01、git merge 和 git rebase的区别
  • 02、git merge
  • 03、git rebase

01、git merge 和 git rebase的区别

目的都是将一个分支的commit合并到到另外一个分支中去

02、git merge

  1. 在gitlab上新建一个项目,push一个test文件上去

合并代码还在用 git merge 吗?互联网公司都用 git rebase! 2.在本地修改test文件做两次commit,每次commit都在文件中加一句修改

合并代码还在用 git merge 吗?互联网公司都用 git rebase!
合并代码还在用 git merge 吗?互联网公司都用 git rebase!

合并代码还在用 git merge 吗?互联网公司都用 git rebase! 3.在远程仓库中直接修改文件并commit,模拟其他开发者的commit

合并代码还在用 git merge 吗?互联网公司都用 git rebase!
合并代码还在用 git merge 吗?互联网公司都用 git rebase!

4.如果此时我push本地的提交到远程,就会被拒绝,因为远程和本地已经各自有commit了,我们常规的做法是git pull一下,在本地解决冲突,然后继续push,本质上git pull = git fetch + git merge

产生冲突:

合并代码还在用 git merge 吗?互联网公司都用 git rebase!

处理冲突:

合并代码还在用 git merge 吗?互联网公司都用 git rebase!

重新走add commit 然后push,可以看到必须将合并当作一个新的commit:

合并代码还在用 git merge 吗?互联网公司都用 git rebase!合并代码还在用 git merge 吗?互联网公司都用 git rebase!

03、git rebase

如果我们此时采用git pull –rebase,也就是=git fetch + git rebase

  1. 一样本地commit2次,远程commit2次
合并代码还在用 git merge 吗?互联网公司都用 git rebase!
合并代码还在用 git merge 吗?互联网公司都用 git rebase!
  1. 使用可以看到git pull –rebase,还是会提示我们去处理冲突,但是从git log 上可以看出明显已经发生了rebase,也就是变基,本地分支基于了远程的最新commit,而不是上次的本地commit
合并代码还在用 git merge 吗?互联网公司都用 git rebase!
合并代码还在用 git merge 吗?互联网公司都用 git rebase!
  1. 处理冲突,每处理完一次本地commit冲突,用git add标记冲突已处理完,用git rebase –continue继续处理下一个本地commit,也可以先用git rebase -i将本地的commit合并为一个commit,这样git pull –rebase就能一次处理所有的冲突
合并代码还在用 git merge 吗?互联网公司都用 git rebase!
  1. push到远程之后,在分支图可以明显看到,跟merge的区别在于,rebase不会产生分支,并且也不会产生新的提交
合并代码还在用 git merge 吗?互联网公司都用 git rebase!

END


推荐:

最近好文


1、IntelliJ IDEA 的 Win 和 Mac 快捷键大全!

2、Docker 大势已去,Podman 即将崛起 !

3、这次,Swagger-ui遇到对手了!

4、一个基于Spring Boot+Vue+Redis的物联网智能家居系统

5、本机号码一键登录原理与应用



合并代码还在用 git merge 吗?互联网公司都用 git rebase!
最近面试BAT,整理一份面试资料Java面试BAT通关手册,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。
获取方式:关注公众号并回复 java 领取,更多内容陆续奉上。

本篇文章来源于微信公众号:程序IT圈

原创文章,作者:栈长,如若转载,请注明出处:https://www.cxyquan.com/18554.html

发表评论

登录后才能评论

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息