如何在不丢失子模块的情况下压缩所有提交?

J0h*_*4lt 5 git git-submodules

我喜欢How to squash all git commits into one? 中的答案.

但是,如果我执行以下操作,我会遇到合并冲突:

git rebase --root -i
Run Code Online (Sandbox Code Playgroud)

与建议的采摘和壁球。

而且,当我失去了我的子模块(我有 5 个)时

rm -rf .git
git init
git add .
Run Code Online (Sandbox Code Playgroud)

压缩所有历史记录并将我的子模块保留在当前目录中的当前目录中的最有效方法是什么?

MrT*_*Tux 6

试试git reset --soft SHAOFFIRSTCOMMIT然后git commit --amend

第一个命令将当前分支重置为第一次提交,但保留当前索引,第二个命令在最后一次提交中提交当前索引。