当前位置: 首页 > article >正文

【版本管理 | Git】Git rebase 命令最佳实践!确定不来看看?

在这里插入图片描述

🤵‍♂️ 个人主页: @AI_magician
📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。
👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!🐱‍🏍
🙋‍♂️声明:本人目前大学就读于大二,研究兴趣方向人工智能&硬件(虽然硬件还没开始玩,但一直很感兴趣!希望大佬带带)

在这里插入图片描述

该文章收录专栏
[✨— 《深入解析机器学习:从原理到应用的全面指南》 —✨]

git rebase

名称介绍
git rebase将一个分支的提交应用到另一个分支上,并且可以修改提交历史。
git rebase <branch>将当前分支的提交应用到目标分支<branch>上,将当前分支的提交添加到目标分支的顶部。(回到目标分支状态,如在Github修改了readme,在push不了,需要pull回来并将当前目录rebase到顶端)
git rebase <upstream>将当前分支的提交应用到上游分支<upstream>上,将当前分支的提交添加到上游分支的顶部。
git rebase -i <commit>启动交互式 rebase,可以修改提交历史。
git rebase --continue在解决合并冲突后继续 rebase 过程。
git rebase --abort中止当前的 rebase 过程,恢复到 rebase 开始之前的状态。
git rebase --skip跳过当前的提交,继续 rebase 过程。
git rebase --onto <newbase> <upstream> <branch><branch> 上从 <upstream> 到当前分支的提交应用到 <newbase> 上,创建一个新的分支。
git pull --rebase在拉取远程分支时使用 rebase 而不是合并。
git config --global pull.rebase true设置全局配置,使得 git pull 默认使用 rebase 而不是合并。

Git 的 rebase 操作是用于将一个分支的提交移动到另一个分支上的操作。它可以改变提交历史、合并代码以及整理分支结构。下面是对 Git rebase 操作的详细解释:

  1. 基本语法:git rebase <目标分支>

    • <目标分支> 是你想要将当前所在分支中的提交应用到其上的目标分支。
  2. 工作原理:rebase 将会找出当前所在分支与目标分支最近的共同祖先,然后逐个应用当前所在分支上从该祖先起新增加或修改过的提交。

    在这里插入图片描述

  3. 使用场景:

    • 合并代码:当你想要将一些特定功能或修复添加到主干(如 master 分支)之前,你可以使用 rebase 来将这些修改放置在主干之前,并保持一个更清晰直观的提交历史。

    • 整理 commit 记录:通过交互式地进行 rebase,你可以合并、删除、编辑和重排多个提交来整理和清除不必要或错误的 commit 信息。

  4. 命令选项:

    • -i--interactive :启动交互式模式,在此模式下可以执行更高级别操作,如合并、编辑和重排提交。

    • --onto :指定 rebase 操作的起始点,可以是一个 commit ID、分支名或标签名。

  5. 注意事项:

    • Rebase 改写了 Git 的提交历史,请确保在操作之前备份重要数据,并且只对尚未推送到远程仓库的本地分支执行 rebase 操作。

    • 如果你在进行 rebase 过程中遇到冲突,Git 将会暂停并提示你解决冲突。解决完冲突后,使用 git add 命令将文件标记为已解决,并使用 git rebase --continue 继续进行 rebase。
      在这里插入图片描述

         				  🤞到这里,如果还有什么疑问🤞
         			🎩欢迎私信博主问题哦,博主会尽自己能力为你解答疑惑的!🎩
         			 	 🥳如果对你有帮助,你的赞是对博主最大的支持!!🥳
      

http://www.kler.cn/a/145107.html

相关文章:

  • Google 和 Meta 携手 FHE 应对隐私挑战
  • CAPL与外部接口
  • 解析“in the wild”——编程和生活中的俚语妙用
  • 智能汽车网络安全威胁报告
  • 動態住宅IP提升網站訪問成功率
  • 第十四讲 JDBC数据库
  • P14 C++局部静态变量static延长生命周期
  • ubuntu下配置qtcreator交叉编译环境
  • 企业编码生成程序Python毕业设计
  • js中判断一个变量是数组的方式有哪些
  • [DFS深度优先搜索]集合里的乘法
  • 如何使用nginx部署静态资源
  • 脸爱云一脸通智慧管理平台未授权访问
  • 【web】Fastapi自动生成接口文档(Swagger、ReDoc )
  • 智安网络|如何最大限度地提高企业网络安全水平
  • GPT、GPT-2、GPT-3论文精读笔记
  • oracle rac环境归档日志清除
  • 数据结构与算法【B树】的Java实现+图解
  • el-table表格排序(需要后端判别),el-table导出功能(向后端发送请求)
  • FlinkCDC实现主数据与各业务系统数据的一致性(瀚高、TIDB)
  • 5 个适用于 Windows 的顶级免费数据恢复软件
  • stm32中断调用流程
  • Python web自动化测试 —— 文件上传
  • ElasticSearch之文件描述符的数量
  • 从二极管到linux服务器
  • Matplotlib网格子图_Python数据分析与可视化