How to revert commits that have been pushed to a remote repository
Problem
Sometimes some changes get pushed to a remote repository by mistake. This can affect the other team members if your changes are corrupted or incomplete.
Solution
Let's say you have 3 commits like this
work 3 at 11 PM - ebdecf01d713f5ee898e0a290d0881776b247916
work 2 at 10 PM - b9df09cfe815411f0422e26d773d47a17040b08c
work 1 at 9 PM - 70414f297e46c5f6fc2a0ae03d677aa363d6f291
To check commit hash - just type git log in terminal
git logCommit 3 is the latest one, which is work 3
If we want to get rid of 2 commit work 3 and work 2 together, follow these below steps:
Step 1:Move tocommit 1which iswork 1by using this command
git reset --hard <commit-hash>Commit hash looks like this: 70414f297e46c5f6fc2a0ae03d677aa363d6f291
In the above-mentioned example, the command will be like this to move to work 1
git reset --hard 70414f297e46c5f6fc2a0ae03d677aa363d6f291Step 2:Force push it to the remote repo by using this command
git push --force-with-leaseOR, if the above command doesn't work. Then, use the below command. Make sure to replace the remote and branch with your working repository.
git push <remote> <branch> --force-with-leaseThat's all. Problem solved!