gpt4 book ai didi

git - gitlab 没有 remotes/origin/HEAD

转载 作者:太空狗 更新时间:2023-10-29 14:28:24 24 4
gpt4 key购买 nike

我是 git 的新手,但我一直在我设置的远程服务器上使用它,我很确定我了解基础知识。

我刚刚搭建了gitlab,并将我的一些代码推送到上面的一个新项目中。我所做的是:

  1. 将我所有的代码放在一个目录中
  2. 初始化
  3. git 添加。
  4. git commit -m "初始提交"
  5. git push origin master

origin 的设置位置:

git remote add origin git@1.2.3.4:myproject.git

现在,当我执行 git branch -a 时,我看到:

* master
remotes/origin/master

而我之前玩的时候,总是看到:

* master
remotes/origin/HEAD -> origin/master
remotes/origin/master

我知道 head 是当前 checkout 分支的指针,所以它不应该存在于 origin 上吗?为什么没有创建它?

最佳答案

不要太担心这个远程HEAD。这一行只是原始克隆工作方式的产物,代表远程的 HEAD 的状态。

它可以被认为是服务器首选的默认分支(即使在远程裸存储库上) - 如果 -b branch,它将由您的客户端 git clone 默认 check out 未使用选项。

您的本地文件 .git/refs/remotes/origin/HEAD 现在可能包含字符串 ref: refs/remotes/origin/master。您可以根据需要删除它(请注意,我不建议这样做),git branch -a 将不再显示它。

除了使用远程 HEAD 作为第一个克隆的默认分支之外,对于您来说,远程 HEAD 的状态无关紧要。您应该只担心真正的远程分支的状态,而不是远程 HEAD 因为它只对远程状态作为其默认选择的分支有意义。如果 remote 是裸存储库,那么即使在 remote 上也没有多大意义。

而当你执行 git remote add ...git fetchgit pull 时你没有看到 remote HEAD 的原因是因为在那种情况下,git 不必决定默认选择哪个默认远程分支。

关于git - gitlab 没有 remotes/origin/HEAD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13599727/

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