Re: On undoing a forced push
- From
Matthieu Moy <matthieu.moy@grenoble-inp.fr>
- Date
- Jun 9, 2015, 13:17 UTC
- Message-ID
- <vpqtwuh6my1.fsf@anie.imag.fr>
- In-Reply-To
- <20150609121221.GA14126@lanh>
Duy Nguyen <pclouds@gmail.com> writes:
Show 5 quoted lines
> From a thread on Hacker News. It seems that if a user does not have > access to the remote's reflog and accidentally forces a push to a ref, > how does he recover it? In order to force push again to revert it > back, he would need to know the remote's old SHA-1. Local reflog does > not help because remote refs are not updated during a push.
More precisely, the remote-tracking ref is updated, and so is its reflog, but the reflog entry usually does not help, because it documents the old and new sha1 of the remote-tracking ref, not of the remote ref itself. Typically, if a coworker pushed some code that I did not pull, and I force-push to the same branch, my reflog won't have the sha1 of my coworker's code.
> This patch prints the latest SHA-1 before the forced push in full.
Sounds like a good idea to me.
-- Matthieu Moy http://www-verimag.imag.fr/~moy/