为什么我的 git 日志输出在使用远程时同时显示 origin 和 origin/master、origin/HEAD。这些条目对我来说似乎是多余的
Why does my git log output show both origin and origin/master, origin/HEAD when using a remote. These entries seem redundant to me
我正在研究 git 来自 3.1 Git Branching - Branches in a Nutshell
的分支概念
我正在玩虚拟存储库。
git log --oneline --decorate
给出以下输出。
$ git log --oneline --decorate
d0006a6 (HEAD, origin, tag: Test1, origin/master, origin/HEAD, master) Minor change
1437545 Minor change
69a948a Added Makefile
617ffeb Spell correction
6bf9b3f First commit
$ git branch
* master
$ git remote --v
origin /home/adil/work/git/repo/ (fetch)
origin /home/adil/work/git/repo/ (push)
我不清楚有多个 origin 和 master 条目。喜欢 origin, origin/master, origin/HEAD, master
URL 中的样本输出给出:
f30ab (HEAD, master, testing) add feature #32 - ability to add new
同样,我希望输出为:
d0006a6 (HEAD, tag: Test1, master) Minor change
一件事可能是不同点,在我们的例子中,它有远程。所以我认为这就是 origin 即将到来的原因,但为什么 origin,origin/master,origin/HEAD 3 个额外的条目?
这是您必须了解的有关 git 的基本知识。
origin
是您的遥控器。它可以命名为任何其他名称,但主要遥控器按照约定命名为 origin
origin/master
是远程 origin
中的主分支或主分支。同样,名称 master 只是约定俗成,可以是任何其他名称。
origin/HEAD
是您的 git 当前指向的任何地方。如果你有多个分支,比如 master 和 develop,你可以通过 checkout 来开发。实际上,该动作将指向 HEAD 进行开发。可以像 git 命令中的任何其他分支一样使用 HEAD。它只是指向您当前所在分支的指针。
编辑
可能是我理解错了,所以再解释一下
显示这三个是为了让您了解我上面解释的三件事的状态。
origin/HEAD
at a commit 告诉你 default branch of origin 指向那个 commit
master
告诉你你的本地回购是在那个特定的提交
origin/master
告诉您这些更改已推送到远程,并且您远程中的 master
分支已与您的本地存储库保持同步
如果您没有将更改推送到远程仓库,origin/HEAD
和 origin/master
将位于最后推送到远程仓库的提交处
我正在研究 git 来自 3.1 Git Branching - Branches in a Nutshell
的分支概念我正在玩虚拟存储库。
git log --oneline --decorate
给出以下输出。
$ git log --oneline --decorate
d0006a6 (HEAD, origin, tag: Test1, origin/master, origin/HEAD, master) Minor change
1437545 Minor change
69a948a Added Makefile
617ffeb Spell correction
6bf9b3f First commit
$ git branch
* master
$ git remote --v
origin /home/adil/work/git/repo/ (fetch)
origin /home/adil/work/git/repo/ (push)
我不清楚有多个 origin 和 master 条目。喜欢 origin, origin/master, origin/HEAD, master
URL 中的样本输出给出:
f30ab (HEAD, master, testing) add feature #32 - ability to add new
同样,我希望输出为:
d0006a6 (HEAD, tag: Test1, master) Minor change
一件事可能是不同点,在我们的例子中,它有远程。所以我认为这就是 origin 即将到来的原因,但为什么 origin,origin/master,origin/HEAD 3 个额外的条目?
这是您必须了解的有关 git 的基本知识。
origin
是您的遥控器。它可以命名为任何其他名称,但主要遥控器按照约定命名为 originorigin/master
是远程origin
中的主分支或主分支。同样,名称 master 只是约定俗成,可以是任何其他名称。origin/HEAD
是您的 git 当前指向的任何地方。如果你有多个分支,比如 master 和 develop,你可以通过 checkout 来开发。实际上,该动作将指向 HEAD 进行开发。可以像 git 命令中的任何其他分支一样使用 HEAD。它只是指向您当前所在分支的指针。
编辑
可能是我理解错了,所以再解释一下
显示这三个是为了让您了解我上面解释的三件事的状态。
origin/HEAD
at a commit 告诉你 default branch of origin 指向那个 commitmaster
告诉你你的本地回购是在那个特定的提交origin/master
告诉您这些更改已推送到远程,并且您远程中的master
分支已与您的本地存储库保持同步
如果您没有将更改推送到远程仓库,origin/HEAD
和 origin/master
将位于最后推送到远程仓库的提交处