git rebase使用场景和方法

欢迎关注微信公众号 

场景1:rebase分支

假如你已经从一个repo的master分支切了一个自己的开发分支,然后开发时间有点长,到了发布的时候,master分支已经更新了很多其他人的提交,你想基于最新的master把自己的改动加进去,然后把代码合并到master,但是不想重新从master切分支,可以用rebase

  • 确保在开发分支上

    git checkout your-feature-branch
    
  • 获取最新的 master 更新

    git fetch origin
    
  • 基于最新的 master 进行 rebase

    git rebase origin/master
    

    这将把在开发分支上的提交应用到最新的 master 之上。可能会遇到冲突,需要手动解决这些冲突。

  • 解决冲突(如果有):

    • 使用文本编辑器打开冲突的文件,按照需要修改。

    • 标记冲突已解决:

      git add <resolved-file>
      
    • 继续 rebase:

      git rebase --continue
      
  • 完成 rebase 后,合并到 master

    • 切换到 master 分支:

      git checkout master
      
    • 合并您的开发分支:

      git merge your-feature-branch
      
  • 推送到远程仓库(如果需要):

    git push origin master

场景2:rebase tag

假如你已经从一个repo的master分支切了一个自己的开发分支,然后开发时间有点长,到了发布的时候,master分支已经更新了很多其他人的提交,你想基于最新的的tag 把自己的改动加进去,然后把代码合并到master,但是不想重新从tag切分支,可以这样用

  • 确保在您的开发分支上

    git checkout your-feature-branch
    
  • 获取最新的标签

    git fetch --tags
    
  • 找到最新的标签
    可以使用以下命令查看所有标签,并确定您想要基于哪个标签:

    git tag --list
    
  • 基于最新的标签进行 rebase
    假设您想要基于 v1.0 标签进行 rebase,可以运行:

    git rebase v1.0
    

    这将把您在 your-feature-branch 上的提交应用到 v1.0 标签的最新状态之上。

  • 解决冲突(如果有):

    • 如果在 rebase 过程中遇到冲突,Git 会提示您。您需要手动解决这些冲突。
    • 解决后,标记冲突为已解决:
      git add <resolved-file>
      
    • 继续 rebase:
      git rebase --continue
      
  • 完成 rebase 后,合并到 master

    • 切换到 master 分支:

      git checkout master
      
    • 合并您的开发分支:

      git merge your-feature-branch
      
  • 推送到远程仓库(如果需要):

    git push origin master

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值