(This suite of tools is 100% compatible with branches. For more discussion, see this thread.) git reflog also fundamentally can't be used to undo some rare operations, such as certain branch creations ...