gpt4 book ai didi

git - 为什么我的 git 日志输出在使用远程时同时显示 origin 和 origin/master、origin/HEAD。这些条目对我来说似乎是多余的

转载 作者:行者123 更新时间:2023-12-04 02:20:01 27 4
gpt4 key购买 nike

我正在研究 3.1 Git Branching - Branches in a Nutshell 中的 git 分支概念

我正在玩虚拟存储库。

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 是您的 Remote 。它可以命名为任何其他名称,但按照惯例,主要的 Remote 被命名为 origin

  • origin/master 是远程名为 origin 的主分支或主分支。同样,名称 master 只是约定俗成,可以是任何其他名称。

  • origin/HEAD 是你的 git 当前指向的地方。如果你有多个分支,比如 master 和 develop,你可以通过 checkout 来开发。实际上,该 Action 将指向 HEAD 进行开发。可以像 git 命令中的任何其他分支一样使用 HEAD。它只是指向您当前所在分支的指针。

编辑

可能是我理解错了,所以再解释一下

显示其中三个,以便您了解我上面解释的三件事的状态。

  • origin/HEAD 在提交时告诉您 默认的 origin 分支 指向该提交
  • master 告诉你你的本地仓库在那个特定的提交上
  • origin/master 告诉您这些更改已推送到远程,并且您远程中的 master 分支已与您的本地仓库保持同步

如果您没有将更改推送到远程仓库,origin/HEADorigin/master 将位于最后推送到远程的提交处

关于git - 为什么我的 git 日志输出在使用远程时同时显示 origin 和 origin/master、origin/HEAD。这些条目对我来说似乎是多余的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31203480/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com