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

友情链接更多精彩内容