git rebase 续命

2018-07-30  本文已影响0人  dkvirus

下午跟后端同事调试前后端接口,整了老半天,他和我的代码都拉的远程仓库最新代码,但在他的机器和我的机器上看到的程序运行状态却不一样,疑惑之下我两吭哧吭哧定位问题,又过了老半天,发现是多模块 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吧。

上一篇下一篇

猜你喜欢

热点阅读