git_rebase与merge

rebase

假设远程有dev分支,我们在dev分支基础上新建立了一个分支mydev;

  • 我们在mydev上更新了代码与此同时有人将代码更新到dev上

    // 自己的更新
    git add .
    git commit -m '更新1'
    git add .
    git commit -m '更新2'
    
    // 此时dev上在我们拉取mydev后多了一下两次提交
    2021-12-14 'xiaoxiaomi' '更新A'
    2021-12-14  'liyuanyuan' '更新B'
    
  • 此时,我们想将mydev上的代码合并到dev上(使用rebase)

    • [1]切换到dev分支,拉取代码

      • git checkout dev
      • git pull
    • [2]切换到mydev分支,进行代码变基

      • git checkout mydev
      • git rebase dev(将dev的变更变基到mydev)
    • [3]切换到dev分支将mydev代码合并过来

      • git checkout dev
      • git merge mydev
      • git push
    • 此时在git上的记录就是

      • 更新A、更新B、更新1、更新2 ,一个有序的记录
      • 将自己的提交记录放在dev记录的后面,有序
    • 若是产生冲突-使用git status 或者到vscode发现有冲突的文件-解决冲突

      // 解决完冲突
      git add -u
      git rebase --continue
      
      # [1]若是没有冲突直接变基完成
      # [2]若是有冲突,会直接停止,解决完执行git rebase --continue命令继续才会出现第下一个版本冲突,直到所有冲突解决;
      // git merge是一下显示所有的冲突;
      
    • 若是产生冲突解决到一半想退出,执行命令

      git rebase --abort 
      
rebase与merge的区别
  • [1]显示冲突
    • git rebase在产生冲突的时候,显示第一个提交版本的冲突,解决完第一个提交版本冲突,执行git rebase --continue再显示后面的冲突;
    • git merge一次显示所有的冲突;
  • [2]解决冲突
    • git rebase解决完冲突仅需要 git add ,不需要git commit;
    • git merge在解决完冲突后需要commit;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值