Reputation: 4887
I like the answers from How to squash all git commits into one?.
However, I get merge conflicts if I:
git rebase --root -i
with pick and squash as suggested.
And, I lose my submodules (I have 5), when I
rm -rf .git
git init
git add .
What is the most effective way to squash all history and keep my submodules in their current directories at their current sha.
Upvotes: 7
Views: 2808
Reputation: 34002
Try git reset --soft SHAOFFIRSTCOMMIT
and then git commit --amend
The first command resets the current branch to the first commit, but keeps the current index and the second command commits the current index in the last commit.
Upvotes: 7