Surely I would never be so stupid as to commit a file that contains sensitive information – say my Oracle Cloud account’s private key. And even if I did, I would not push that change to a public git repo on GitHub, would I?
It turns out that I did exactly that. Ooops. Big one.
I quite frantically looked for a way to undo that mistake – remove the push and undo the commit as if it never had happened.
It turned out not to be very hard – thanks to this thread on StackOveflow.
I first checked the git log to get the commit identifier for the commit I wanted to revert to. Note: this whole story takes place on branch oci-objectstorage-state.
The identifier eb54584888c3901ac6944712bd9a685db4fa1f24 –from the one but last commit – is the correct one,.
Using git push –f origin <last correct commit id>:<branch> or:
git push -f origin eb54584888c3901ac6944712bd9a685db4fa1f24:oci-objectstorage-state
I got rid in the remote repository of the commit that took place
Using git reset <last correct commit id> I align the local situation.
Finally, using git status I find that the file that was committed and pushed is now once again marked as modified – and not staged. Better take out the sensitive stuff before staging, committing and pushing it again.