git rebase解决提交冲突

更改代码后,git push 发生错误?

注: 此时,使用 git pull: 更新代码,git 会自动merge不同的更新,

   a.  如果git 自动merge成功,再进行 git push操作就会成功。

   b.  如果git 自动merge失败,使用git status可以查看哪个文件 merge失败,需要手动修改冲突地方,再进行git add git commit操作,之后再git push

But,这种方法提交后,就会在提交记录里显示 merge: *********************,而git rebase就能解决这种问题,有2个方法解决

 

方法1:

新建分支mywork -> reset主分支master -> 主分支master更新基线 -> 分支mywork merge 主分支master基线 -> 主分支masetr merge 分支mywork修改

1、git branch mywork: 新建分支

此时, git branch查看所有分支:

主分支: master

工作分支: mywork(修改的内容,在mywork分支里有体现)

2、reset主分支master

1)  git log: 查看本地提交

2)、回退自己的提交(master分支上的,此时mywork分支保留了更改)

a. git reset: 回退自己的提交

b. git checkout: 还原修改的内容

或者直接使用: git reset --hard

 

3、主分支master更新基线

4、分支mywork merge 主分支master基线

1).  切换到mywork分支, git checkout mywork

2).  git rebase master:  将master的更新,同步到mywork分支

     注: 这一步,是最重要的,git此时会自动merge master分支最新基线到mywork分支

     a. 如果自动merge成功,就不用管了

     b. 如果自动merge失败,此时git status查看哪个文件merge失败,打开该文件,手动修改冲突,执行git add 文件名 ,然后执行git rebase --continue

3). git log查看下,分支本地提交

5、主分支masetr merge 分支mywork修改

1). 切换到master分支: git checkout master

2). 把mywork的修改merge到master:  git rebase mywork

6、重新提交

      git push -u origin 提交。 此时,就不会出现 merger: *******************

 

7、操作流程图,如下

 

方法2:

重点来了,,,你也可以直接使用。

git pull --rebase

pull的时候,把服务器别人的代码, rebase到你的commit的下边。

如果发生冲突,解决方法,参考,方法1.4 中

如果自动merge失败,此时git status查看哪个文件merge失败,打开该文件,手动修改冲突,执行git add 文件名 ,然后执行git rebase --continue)

  • 7
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值