DEV Community

Kat Padilla
Kat Padilla

Posted on • Originally published at blog.katpadi.ph on

1 1

Git: Squash Commits

With git it’s possible to squash previous commits into one before sharing them with others.

Step 1

For example you want to squash your last 3 commits:

git rebase -i HEAD~3

On the other hand, if you want to just simply squash all the unpushed commits:

git rebase -i origin/master

If you have many commits and want to start from a certain commit:

git rebase -i

Any of the command above will prompt open your editor with something like:

pick a92f09 Added new feature X
pick ca9f90a Some other stuff I did
pick d18a6h1 More stuff I did
Enter fullscreen mode Exit fullscreen mode

This will show up in your editor:

pick a92f09 Added new feature X
squash ca9f90a Some other stuff I did
squash d18a6h1 More stuff I did
Enter fullscreen mode Exit fullscreen mode

Note: If you don’t have an editor defined in your config, you will encounter Could not execute editor. Just do git config --global core.editor /usr/bin/vim for you to be able to proceed.

Step 2

Next, we can configure git on what to do with the commits. Let’s say, I want to keep commit a92f09. Git squash-ing the following two commits into the first one will leave us with one single commit with all the commits in it. To do that, change your file to this:

pick a92f09 Added new feature X
squash ca9f90a Some other stuff I did
squash d18a6h1 More stuff I did
Enter fullscreen mode Exit fullscreen mode

Save and exit.

That’s it. Git squash is especially useful if you want to wrap up “all in a day’s work” or if you want to have a clean and concise git history.

TL;DR

Use git rebase -i origin/master and replace “pick” on the second and succeeding commits with “squash”.

git squash?

The post Git: Squash Commits appeared first on KatPadi's Point.

Please leave your appreciation by commenting on this post!

It takes one minute and is worth it for your career.

Get started

Top comments (0)

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More