git checkout can be understood as moving the pointer to the branch. For example, git checkout development, means we move the pointer to the development branch, then the next commit will move the deve