Git - 怎么把当前修改追加到前面某个commit中

怎么把当前修改追加到前面某个commit中

bash 复制代码
git log
commit b7cb11b53388d410d07e3b3084c67274cee4cdad (HEAD -> hotfix/task-108344, origin_dbackup/hotfix/task-108344)
Author: aaa <aaa@mmm.com>
Date:   Thu Mar 27 15:08:32 2025 +0800

    Fix #108344: add bbb

commit 13e6302252fc475d28431bb351155e3c2e3fde6d
Author: bbb <bbb@mmm.com>
Date:   Wed Mar 26 17:41:48 2025 +0800

    Fix #108344: add aaa

此时,我怎么把对代码的修改追加到Fix #108344: add bbb提交上,而不影响另一个提交

  1. 运行交互式 rebase
    首先,你需要运行交互式 rebase,选择一个包含你需要修改的提交范围的 commit(这里是 13e6302)
bash 复制代码
git rebase -i HEAD~2

这个命令会列出你最近的两个提交,类似这样:

bash 复制代码
pick 13e6302 Fix #108344: add aaa
pick b7cb11b Fix #108344: add bbb
  1. 修改提交
    在这个列表中,你可以看到最近的两个提交
    你需要将 13e6302 那一行的 pick 改为 edit,让 Git 在这个提交时暂停,以便你可以修改内容
    修改后,文件内容应该像这样:
bash 复制代码
edit 13e6302 Fix #108344: add aaa
pick b7cb11b Fix #108344: add bbb

保存并退出编辑器

  1. 修改代码
    Git 会暂停在 13e6302 提交,允许你修改代码
    此时,你可以修改你的代码并进行添加:
bash 复制代码
# 修改代码
git add <modified-files>
  1. 更新提交
    修改完成后,运行以下命令来更新提交:
bash 复制代码
git commit --amend --no-edit

--no-edit 选项会保持原来的提交信息不变,只更新提交的内容

  1. 继续 rebase
    提交修改完成后,运行以下命令来继续 rebase:
bash 复制代码
git rebase --continue
  1. 完成
    完成 rebase 后,检查提交历史:
bash 复制代码
git log

你会看到 13e6302 提交已经被更新,而 b7cb11b 提交保持不变

相关推荐
Aurora_th10 小时前
浙江海洋大学 资料共享 期末考试卷、课程资料等
git·github
奶茶树13 小时前
【C++】13. C++11新特性【上】
c语言·开发语言·c++·git·github
夏至春来-美美1 天前
git clone报错
git
拂拉氏1 天前
【Linux】 开发工具(Makefile、git、cgdb)解析与对于操作系统的基础认识
linux·git·操作系统·makefile·cgdb
番茄不是西红柿kk2 天前
deepseek-harness跨平台桌面端二开项目(附git仓库地址+安装包)
git·agent·codex·deepseek·deepseekharness
leoZ2312 天前
10-Git 仓库蒸馏术:从代码仓库到 OpenClaw 虚拟人-蒸馏工具链
大数据·git·深度学习·神经网络·目标检测·elasticsearch·lstm
fpcc2 天前
工具使用—git diff命令分析说明
git·工具
console.log('npc')2 天前
Git 删除指定提交记录操作指南
git
随风丶飘2 天前
[特殊字符] 告别“update“和“fix bug“——Smart Git Commit LLM 让 AI 帮你写专业的 Git 提交信息
人工智能·git·bug
yanlaifan2 天前
git clone时候指定换行符
git