Skip to main content

How to squash multiple commits into one?

Suppose you have commits as follows:

HEAD~0 --> Commit 5 eeeeeee
HEAD~1 --> Commit 4 ddddddd
HEAD~2 --> Commit 3 ccccccc
HEAD~3 --> Commit 2 bbbbbbb
HEAD~4 --> Commit 1 aaaaaaa

If you want to squash commits 3, 4 and 5 and make them as a single commit, run the commands below:

git rebase -i HEAD~3

3 means, you are squashing the last 3 commits. Update text in editor opened, save and close.

git push -f

Now, the commits would be as follows:

HEAD~0 --> Squashed Commit fffffff
HEAD~1 --> Commit 2 bbbbbbb
HEAD~2 --> Commit 1 aaaaaaa

Comments

Popular posts from this blog

AWS Route53 - Private Hosted Zone

High availability (Multi-AZ) for Amazon RDS

There is something called failover technology in Amazon. AWS RDS's Multi-AZ deployment uses this technology. If you enable Multi-AZ for an RDS DB, say MySQL DB, RDS automatically creates a standby replica in a different AZ. If the primary DB instance is in AZ-1A, then RDS creates a standby replica in AZ-1B (for example). Suppose I add a new row to a table in the primary DB, then the same row is added, almost in the same time, in the standby replica. This is called as synchronous replication . Thus, standby replicas are useful during DB instance failure/ AZ disruption . How? Because, there is no need to create a backup later because the backup has already been created. This gives high availability during planned system maintenance. Normal backup  operation - I/O activities are blocked in the primary database  Automated backup operation (standby replica) - I/O activities are not blocked This standby replica is not similar to read replica (which is used for disaster recovery). S...

Application Load Balancer (ALB)

The ALB spans all subnets in a VPC i.e., it is not inside a subnet but VPC. ALB is bound to Target Groups (TGs). TGs are bound to subnets.