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

git rebase的使用

我的使用

git checkout feature # 本地分支
git pull origin main --rebase # 目标分支
git pull origin feature --rebase 
git push origin feature

git rebase 是 Git 中用于重写提交历史的强大工具,可将分支的提交移动到新的基点上,使历史更线性。以下是其核心使用方式及注意事项:


1. 基本使用:将当前分支变基到目标分支

# 假设当前在 feature 分支,将 main 分支的更新作为新基底
git checkout feature
git rebase main
  • 作用:将 feature 分支的提交逐个应用到 main 分支的最新提交之后。
  • 冲突处理:遇到冲突时,解决后执行:
    git add <解决的文件>
    git rebase --continue  # 继续
    git rebase --abort     # 放弃变基,回到原始状态
    

2. 交互式变基(整理提交历史)

git rebase -i HEAD~3  # 修改最近3次提交
  • 常用操作
    • pick:保留提交(默认)。
    • squash:合并到前一个提交,保留提交信息。
    • fixup:合并到前一个提交,丢弃当前提交信息。
    • reword:修改提交信息。
    • edit:暂停以修改提交内容。
  • 流程:编辑提交列表后保存,按提示操作(如合并提交需编辑新信息)。

3. 将本地分支变基后推送到远程

git push origin feature --force-with-lease
  • 注意:仅对未与他人共享的分支使用强制推送,避免扰乱他人工作。

4. 常见场景

场景1:同步主分支更新到特性分支
git checkout feature
git rebase main  # 将 feature 的基点到 main 的最新提交
场景2:合并多个提交为单个提交
git rebase -i HEAD~3
# 在编辑器中将后两次提交标记为 squash 或 fixup
场景3:修改旧提交信息
git rebase -i HEAD~3
# 将对应提交的 pick 改为 reword,保存后编辑信息

5. 注意事项

  • 适用场合
    • 本地分支:未推送的提交可自由变基。
    • 公共分支:避免变基已推送的历史,以免影响协作。
  • merge 的区别
    • merge 保留分支历史,生成合并提交。
    • rebase 创造线性历史,无额外合并节点。
  • 风险控制
    • 变基前备份分支(如创建临时分支)。
    • 使用 git reflog 恢复误操作。

6. 变基后合并到主分支

git checkout main
git merge feature  # 快进合并(因历史线性,无冲突)

掌握 git rebase 可显著提升提交历史的清晰度,但需牢记:“本地变基,远程谨慎”。通过练习和谨慎操作,逐步熟悉其灵活性和风险。

相关文章:

  • 某客户ORA-600 导致数据库反复重启问题分析
  • 如何判断单片机性能极限?
  • Linux 网络配置
  • OpenHarmony - 小型系统内核(LiteOS-A)(七)
  • GPT,Bert类模型对比
  • 16-算法打卡-哈希表-两个数组的交集-leetcode(349)-第十六天
  • 使用 PM2 启动node服务,并添加监控接口
  • Linux系统之restore命令的基本使用
  • d3.js绘制组合PCA边缘分布图
  • 数据结构(6)
  • MYOJ_11700(UVA10591)Happy Number(快乐数)(超快解法:图论思想解题)
  • 阿尔特拉 EP1C12F324I7N AlteraFPGA Cyclone
  • Redis——数据结构
  • 【ELF2学习板】OpenCL程序测试
  • 逻辑删除表结构如何加唯一索引?
  • Obsidian的简单使用
  • 【Semantic Kernel核心组件】Kernel:掌控AI编排的“中央处理器“
  • Java基础知识面试题(已整理Java面试宝典pdf版)
  • AbMole—如何高效诱导巨噬细胞的极化?
  • 04-libVLC的视频播放器:获取媒体信息
  • 一手实测深夜发布的世界首个设计Agent - Lovart。
  • 特朗普访中东绕行以色列,专家:凸显美以利益分歧扩大
  • 山东枣庄同一站点两名饿了么骑手先后猝死,当地热线:职能部门正调查
  • 观众走入剧院空间,人艺之友一起“再造时光”
  • 重庆三峡学院回应“中标价85万设备网购300元”:已终止采购
  • 智利观众也喜欢上海的《好东西》