git log --oneline -n 5
To Squash multiple commits into one commit and interactively fix commit message, Very first commit becomes the main
git rebase -i HEAD~5
git push --force-with-lease (to prevent overwriting other peoples commit with --force)
git reset --soft HEAD~1
To un-commit changes that were recently commited and discard changes (Dangerous command, will lose all changes in commit)
git reset --hard HEAD~1
git reset --soft HEAD~3
git commit -m "New Commit"
git push --force-with-lease
git pull --rebase origin develop // Without merge commit
git pull origin develop // With merge commit
git commit --amend
git commit --amend --date="$(date -R)"
git commit --amend --date=now