多人开发场景下遇到的git rebase问题以及学习记录

596 阅读2分钟

一些碎碎念:
之前写的《react+ts Eslint不生效问题》居然有两个赞,没想到。
其实我写的都是工作中遇到的问题。纯粹就是记录,避免下次再遇到又是一头雾水,浪费时间。
好了,下面正文开始!

一.触发问题的流程、git报错信息、原因以及解决

  1. 流程:本地commit之后,git pull origin xxx(很常规操作)
  2. 报错信息:

image.png

  1. 原因:➡️这篇文章看第一段就可以了
  2. 解决:➡️简单操作
    (1)git pull origin --rebase (简写:git pull origin -r)
    (2)(大概率会产生冲突)手动解决冲突、commit -m(commit这一步也有用git stash的好像)
    (3)(解决冲突之后)git rebase --continue
    (4) git push origin xxx

二.git rebase后又双叒叕遇到个大问题

➡️解决git rebase操作后推送远端分支不成功的问题 
【这得多寸才能遇到这个问题🤷‍♀️】
【我当然用的红色那句啦!】

三.进阶学习

【我只是资料的搬运工】

git rebase全面介绍

阅读指南:讲了git rebase主要应用场景、解决的问题、与 git merge 的区别、危险性(讲的很抽象)等,建议阅读、扩展知识面 ➡️git rebase全面介绍

补充阅读:git rebase 与 git merge 的区别

阅读指南:文章四可以不读,文章一、二、三都大同小异,可以只读其中一个 文章一
文章二:实操
文章三

文章四:文尾总结;而且介绍了第一点遇到的问题另一个解题方法

四.怎样避免git rebase

【有可能你不想学习rebase操作】
【也有可能就算学会了rebase,也想尽可能避免rebase。像我一样。因为直观感觉会遇到麻烦。】
第一种:那就git commit后用尽量用git merge origin/xxx(maybe吧,我觉得要好点)
第二种:(据说,没试过)用git stash、git merge origin/xxx、git stash pop一系列操作流程来避免

最后,还没有了解git fetch、git stash和git add区别等等等等。。。