This is mostly moot since I've understood that it's easy to set git to never GC. I guess I'm curious about why those GC fields would ever be set to anything other than never? -- Jeff King wrote: > No. Git keeps the reachable DAG. So if the DAG is part of development > that is merged into one of your long running branches, or if you keep > around the branch that points to it, it will never go away. Right, that's what I thought. I'm not primarily concerned with what developers can do to their local git repositories. I'm concerned with what the default sync operations can let them do to the crown-jewels in the 'central organization repositories' which everyone is periodically pushing to. I like that deleting a branch in your repo does not cause it to be deleted in other repos. Presumably in an organization we could prevent the central repo from ever accepting branch deletes from developers. (without some kind of authorization) Does it have the same protection for all operations that can cause DAGs to be dangling? For example, if they branch -f" and push the branch? --- Again it's simple enough for me to just set the GC times to "never" on the server, and I find git pretty pleasing because I'm a short-attention-span-comitter. On a perforce or cvs repository, I frequently tar up subtrees between commits, so i don't lose my work -- git is light-years ahead of this. Quite a bit of my fear of losing data came from some issues in the git-gui. I'm trying out git on a windows project, and windows-shells just don't work right, so I'm using the "Git Gui". It turns out right-clicking on a history entry in the gui has no checkout option, and the only option it does have which will let you move the tree to that place is "reset --hard".. since this was the easiest thing to find in the GUI, I assumed it was the right way to do it, and then all my more recent changes disappeared. It doesn't seem to have reflog functionality, so I couldn't find any way to get back all my changes. I ended up having an old history window that I did another reset --head in back to the latest change, but I got scared about what git was doing underneath. The docs clearly explained that it will garbage collect dangling refs, and frankly the information about how often this happens is buried so deep I had no idea what the frequency was. -- 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