Git 提交合并(Squash)操作复盘总结
Git 提交合并(Squash)操作复盘总结 ✅ 场景目标 把某个提交(如 6fc6e37)及其之后的所有提交合并成一条提交,保留历史,简化 log。 🧭 思路总览 Git 只能按提交拓扑结构操作,不能直接按时间合并。正确做法如下: ✅ 操作步骤 1️⃣ 找到合并起点的前一个提交 用 git log --oneline --date=iso 或 git log --graph 找到目标提交(如 6fc6e37)的前一个提交(如 8d1bacb)。 2️⃣ 切换到目标分支 1 git checkout main 3️⃣ 软重置到前一个提交 1 git reset --soft 8d1bacb 这样会把从 6fc6e37 开始到最新的所有更改变成未提交状态。 4️⃣ 新建一个合并提交 1 git commit -m "合并 Cloudflare Workers 相关提交" 可以整理多个提交说明合并进 message。 5️⃣ 强推远程(如已推送过) 1 git push origin main --force 🧼 效果验证 git log --oneline 检查历史是否简化 git log --graph 检查提交结构 git status 检查无未提交内容 ⚠️ 注意事项 项目 注意点 重写历史 一定会改变 Git 提交 ID,不可逆 多人协作 强推前要先告知团队,避免他人拉取冲突 推荐备份 操作前创建备份分支:git checkout -b backup-before-squash 🧠 总结口诀 🔁 找前一条 → 软重置 → 合新提交 → 强推远端...