git 命令 - rebase

简介

git rebase 是一个用于重新应用一系列提交到另一个基础的 Git 命令。

它可以用来整合来自不同分支的更改,同时保持项目历史的整洁。

操作流程

  1. 开始变基
    要开始一个变基操作,你需要指定一个基础分支。通常,这个基础分支是你想要将当前分支的更改应用到的分支。命令如下:

    git rebase [base-branch]
    
  2. 交互式变基
    如果你想要交互式地选择哪些提交参与变基,可以使用 --interactive(或简写为 -i)选项。这允许你编辑、squash(压缩)、drop(删除)或者重新排序提交。

    git rebase -i [base-branch]
    
  3. 继续变基
    如果在变基过程中遇到冲突,解决冲突后,使用以下命令继续变基:

    git rebase --continue
    
  4. 取消变基
    如果在变基过程中遇到问题,可以使用以下命令取消变基操作,将分支恢复到变基之前的状态:

    git rebase --abort
    
  5. 变基时的自动 stash
    如果你不希望在变基期间丢失工作,可以使用 --keep-empty 选项来保留一个空的提交。

    git rebase --keep-empty [base-branch]
    
  6. 变基时的自动冲突解决
    使用 --strategy-option=theirs 可以自动解决变基时的冲突,将公共祖先的更改保留,而丢弃当前分支的更改。

    git rebase --strategy-option=theirs [base-branch]
    
  7. 变基到特定提交
    如果你只想变基到某个特定的提交,可以使用 --onto 选项来指定新的上游提交。

    git rebase --onto [new-base] [branch] [commit]
    
  8. 查看变基进度
    使用以下命令可以查看正在进行的变基操作的进度:

    git rebase --show-current-patch
    
  9. 自动变基
    如果你想要 Git 在 pull 请求时自动执行变基而不是合并,可以使用以下命令:

    git config --global pull.rebase true
    

最后

变基会重写项目的历史,所以不推荐在公共分支上执行变基操作,可能会导致其他人的工作出现问题。

一般来说,变基用于个人分支或者在合并到主分支之前整理提交历史。

相关推荐

  1. git 命令 - rebase

    2024-05-12 09:10:05       25 阅读
  2. git 常用命令 rebase发生冲突时 ☞ 撤销rebase

    2024-05-12 09:10:05       52 阅读
  3. Gitrebase命令说明

    2024-05-12 09:10:05       57 阅读
  4. git rebase/revert/reset 命令用法及场景

    2024-05-12 09:10:05       55 阅读
  5. Git合并代码(rebase)

    2024-05-12 09:10:05       64 阅读
  6. git rebase使用

    2024-05-12 09:10:05       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-12 09:10:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-12 09:10:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-12 09:10:05       82 阅读
  4. Python语言-面向对象

    2024-05-12 09:10:05       91 阅读

热门阅读

  1. leetcode234-Palindrome Linked List

    2024-05-12 09:10:05       35 阅读
  2. 【C++】list的使用

    2024-05-12 09:10:05       38 阅读
  3. C语言星号带括号的情形

    2024-05-12 09:10:05       32 阅读
  4. 树(Tree)和二叉树

    2024-05-12 09:10:05       26 阅读
  5. Qt中正则表达式的用法

    2024-05-12 09:10:05       44 阅读
  6. Python 正则表达式 (?=...) 和 (?<=...) 符号

    2024-05-12 09:10:05       30 阅读
  7. Electron axios token失效刷新token

    2024-05-12 09:10:05       36 阅读
  8. 2024-05-11 问AI:在深度学习中,学习率是什么

    2024-05-12 09:10:05       35 阅读
  9. Python 实战之量化交易

    2024-05-12 09:10:05       32 阅读
  10. CentOS常见命令

    2024-05-12 09:10:05       28 阅读
  11. CentOS常见的命令及其高质量应用

    2024-05-12 09:10:05       26 阅读
  12. P1098 [NOIP2007 提高组] 字符串的展开

    2024-05-12 09:10:05       30 阅读
  13. Unity 浮点数的精度问题

    2024-05-12 09:10:05       33 阅读
  14. 游戏行业该如何选择适合的服务器?

    2024-05-12 09:10:05       37 阅读