Thursday, June 29, 2017

Combine multiple commits into single one - squash your github commits

How to combine multiple commits into single one?

While carrying out a pull request, I ended up with 7 commits in the same pull request. 

I wish to combine all those 7 commits into a single one.( So it is easier to merge and unnecessary  history is removed)

# carrying out squash:

You want to squash all 7 commits into one:

# git rebase -i HEAD~7


It will launch a editor.

# Leave first commit as is.

# From 2 - 7 , change (edit) pick as squash

Now, It will squash the changes and launches editor for  adding commit message. (which actually contains all 7 commit messages).
You can edit the commit message as you wish.

Note: any commit message with # is comment. you need to delete unneeded commit message, else it will only add confusion.

# pushing changes:

Now, I have already pushed all those 7 commits into the github's pull request

So, I need to do force push:

# git push origin  <your branch name>  --force

that's it. :)

You can verify your github pull request. 

No comments:

Post a Comment