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? -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html