Skip to content

Instantly share code, notes, and snippets.

@csandman
Last active May 1, 2020 16:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save csandman/997c9078750bb4d0dd32fa622794d7d8 to your computer and use it in GitHub Desktop.
Save csandman/997c9078750bb4d0dd32fa622794d7d8 to your computer and use it in GitHub Desktop.
A simple process for squashing commits before (or after) making a pull request

How to Squash Git Commits

Borrowed from wprig

Some applications that interact with git repos will provide a user interface for squashing. Refer to your application's document for more information.

If you're familiar with Terminal, you can do the following:

  • Make sure your branch is up to date with the master branch.
  • Run git rebase -i master.
  • You should see a list of commits, each commit starting with the word "pick".
  • Make sure the first commit says "pick" and change the rest from "pick" to "squash". -- This will squash each commit into the previous commit, which will continue until every commit is squashed into the first commit.
  • Save and close the editor.
  • It will give you the opportunity to change the commit message.
  • Save and close the editor again.
  • Then you have to force push the final, squashed commit: git push --force-with-lease origin.

Squashing commits can be a tricky process but once you figure it out, it's really helpful and keeps our repo concise and clean.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment