首页 > 解决方案 > 使用变基进行壁球期间丢失的更改

问题描述

我试着跑

git rebase -i HEAD~N

将我的旧提交压缩为一个。但有时我会遇到合并冲突。问题是,即使我解决了冲突并执行了“git rebase --continue”,我也丢失了很多其他提交更改。

我还尝试根据这些答案解决问题:Git squash all commits in branch without conflicting

标签: gitrebasegit-squash

解决方案


您可以通过使用 reset --soft 来避免使用 rebase 进行压缩。假设你想要从 HEAD~100 压缩到当前分支(HEAD~100 是最后一个不会被压缩的幸存提交):

git reset --soft HEAD~100
git commit -m "Squashed stuff"

就是这样。没有冲突,没有麻烦。


推荐阅读