Eclipse Egit. Checkout creates new commit. Why?

前端 未结 2 1678
野趣味
野趣味 2021-01-28 21:46

As I understand GIT, when I checkout on commit, I should get its files copy in my work directory, but no new commit should appear. Though when I use EGit and checkout on

2条回答
  •  一整个雨季
    2021-01-28 22:07

    You don't see a new commit in the reflog. What you see is an updated position of HEAD. You changed it to commit 4b0d96a when you checked it out. When you check out another commit, branch or a tag, you'll see yet another entry appear in the reflog.

    Try switching between two branches repeatedly and you'll see the same two commit hashes appended to the reflog again and again. This does not mean you're creating new commits. You just see existing commits being logged as recent commits pointed to by the HEAD pointer.

    From the git reflog docs:

    This command manages the information recorded in the reflogs.

    The "show" subcommand (which is also the default, in the absence of any subcommands) shows the log of the reference provided in the command-line (or HEAD, by default). The reflog covers all recent actions, and in addition the HEAD reflog records branch switching. git reflog show is an alias for git log -g --abbrev-commit --pretty=oneline; see git-log for more information.

    You may also find this chapter of the Pro Git book interesting. It offers a more comprehensible description of what git reflog does.

提交回复
热议问题