Re: why is git destructive by default? (i suggest it not be!)
- From
- David Jeske <jeske@google.com>
- Date
- Aug 14, 2016, 00:43 UTC
- Message-ID
- <willow-jeske-01l5kwGPFEDjCc7b>
- In-Reply-To
- <m3mylbl0xb.fsf@localhost.localdomain>
To re-ask the same question I asked in my last post, using your ascii pictures...
Let's assume we're here..
.<---.<---.<---A<---X<---Y <--- master \ \--B<---C <--- customer_A_branch <=== HEAD
And this person and everyone else moves their head pointers back to master without merging:
.<---.<---.<---A<---X<---Y <--- master <=== HEAD \ \--B<---C <--- customer_A_branch
Now, five years down the road, our tree looks like:
.<---A<---X<---Y<---.<--.<--.(3 years of changes)<---ZZZ<--- master <=== HEAD \ \--B<---C <--- customer_A_branch
And someone does:
git-branch -f customer_A_branch ZZZ
To bring us to:
.<---A<---X<---Y<---.<--.(3 years of changes)<---ZZZ<--- master <=== HEAD \ \ \--B<---C \-- customer_A_branch
..at this point, will a GC keep "B<--C", or garbage collect the commits and throw them away?