* Nicholas Clark <n...@ccl4.org> [2013-12-13 11:20]:
> On Fri, Dec 13, 2013 at 10:11:09AM +0000, Nicholas Clark wrote:
> > balls it up). And as long as you don't throw away the terminal
> > output, push anything or run `git gc`, there's always about 30 days
> > to recover from any mess* from the various internal reflogs.
>
> > * Other than git reset --hard
>
> Bother, or git clean -dxf

Or git checkout.

There have to be a few more, basically any command that is willing to
touch the working copy – while the working copy is already dirty – may
potentially lose data.

Anything that only operates on the object database or only accepts to
touch the working copy if it’s clean, is 100% safe, since objects are
immutable by design while they reside in the object database. (And you
can turn GC off to ensure they stay there forever, which I do on my dev
boxes (as opposed to central repo hosts).)

The only thing that can happen is that the user lacks the experience to
understand the state they put Git into, and how to change it (back, or
in any other direction) – but not actual data loss.

-- 
Aristotle Pagaltzis // <http://plasmasturm.org/>

Reply via email to