git rebase 续命

下午跟后端同事调试前后端接口,整了老半天,他和我的代码都拉的远程仓库最新代码,但在他的机器和我的机器上看到的程序运行状态却不一样,疑惑之下我两吭哧吭哧定位问题,又过了老半天,发现是多模块 maven 工程 pom 版本不一致导致的。我俩赶紧去 gitlab 上找提交记录,看是谁修改了 pom 版本信息。结局总是很出人意料的,tmd 的提交人竟然是我!!!我们项目是前后端分离的,我负责前端这块,java 早就忘记不知道咋整的啦,更别提改别人的 java 代码.......

至于 git 提交为什么会多提交一些修改记录,这个问题还没有定位到原因,但是明天还得上班呀,问题总得先解决了。跟老大讨论了半天,老大用 git rebase 把代码 治好 了,之前没用过 git rebase 命令,赶紧了解一下先。

主分支 master,开发分支 develop。

切换到 develop 分支上,执行 git rebase master,会将 master 分支跟当前分支 develop 做合并,如果有冲突会提示进行修改,develop 分支相对于 master 分支多开发的代码不会有任何影响。

git rebasegit merge 都用于合并代码,下面这段话比较形象表示二者区别,如果要再深入一点了解可以看这篇文章 《git rebase 中文版》

git rebase有点类似git merge,但是两者又有不同,打个比方,你有两个抽屉A和B,里面都装了衣服,现在想把B中的衣服放到A中,git merge是那种横冲直撞型的,拿起B就倒入A里面,如果满了(冲突)再一并整理;而git rebase就很持家了,它会一件一件的从B往A中加,会根据一开始放入的时间顺序的来加,如果满了你可以处理这一件,你可以继续加,或者跳过这一件,又 或者不加了,把A还原。所以merge适合那种比较琐碎的,简单的合并,系统级的合并还是用rebase吧。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • git branch 查看本地所有分支 git status 查看当前状态 git commit 提交 git b...
    猿万阅读 10,654评论 1 45
  • 1,查看所有远程分支:%git branch -r 2, 拉取远程分支并创建本地分支git checkout -...
    will666阅读 6,338评论 0 18
  • 好的家庭教育就是家长能安排出时间陪孩子忘我的游戏,在游戏中加深亲子关系。学会与人相处,团结协作。体察他人。 用心陪...
    天涯伴旅阅读 2,425评论 0 0
  • 你聪明,但依然找不到好工作,很有可能是因为你不够踏实。 01 我有一个助理,深得我喜欢,因为她做事很踏实。 比如:...
    蓝小歌阅读 8,468评论 18 95
  • JS里的数据类型分为 原始数据类型(primitive type) 和 合成数据类型(complex type)...
    _William_Zhang阅读 1,643评论 0 0

友情链接更多精彩内容