I am trying to make sense of reflog as I need to know this to use revert and reset properly. I cannot find the most basic information in the git documentation or online. Surely the most basic question is whether the reflog is sequential or just random logs or whether it is in time ascending or descending order. Without this information I am left baffled and have to guess what this line means out of the many: a0bbd34 (HEAD -> master, origin/master, origin/main) refs/remotes/origin/main@{0}: update by push Why does it have to be so obscure?