我在 Eclipse 中使用 Git。有人可以在选择的下拉菜单中解释“HEAD”和“master [branch]”之间的区别吗?
我通常会完全随意地选择一个,到目前为止,这种随意性似乎并没有太大的影响,但我相信如果我不尽快弄清楚的话,它会再次困扰我。
HEAD 不一定在所有情况下都指向 master。例如,有些项目没有 master 分支,他们将 HEAD 指向其他地方,或者他们可能有 master,但无论如何他们都不默认。
当两者之间没有区别时,您的困惑可能来自一般情况,但是在上述情况下,情况并不成立。
HEAD
是一个移动指针。有时它意味着当前分支,有时它不是。因此
HEAD
,“当前分支”已经不是无处不在的同义词了。
HEAD
在 git 中的任何地方都表示“当前”,但不一定表示“当前分支” ,
即分离的 HEAD :在 Egit 中看到它。
但它几乎总是意味着“当前提交”。
它是提交“git commit
”建立在上面,“git diff --cached
”和“git status
”比较。
这意味着当前分支仅在非常有限的上下文中(确切地说,当我们想要一个分支名称进行操作时——通过 commit/rebase/etc. 重置和增长分支提示)。