git pull master 有错误:fatal: 找不到远程 ref master

Blu*_*Sea 1 git github

运行 git pull 命令拉主时:

$ git pull ds master
Run Code Online (Sandbox Code Playgroud)

(注意:ds 是远程仓库的别名。)

它弹出以下错误:

fatal: couldn't find remote ref master
Run Code Online (Sandbox Code Playgroud)

但是当为分支 'v1' 运行 'git pull' 时,它可以工作。

$ git pull ds v1
From https://github.com/<UserName>/<Repo's name>
 * branch            v1         -> FETCH_HEAD
Already up to date.
Run Code Online (Sandbox Code Playgroud)

我想知道这是否是案例问题,但这不是因为我运行以下命令来确认它:

$ git branch -a
  master
* v1
  remotes/ds/v1
Run Code Online (Sandbox Code Playgroud)

有什么问题?谢谢!

tor*_*rek 5

这种情况下的问题是您的遥控ds器没有名为master. 可能他们已经改用了main,但也许他们两个都没有。请注意,这两个名称都没有什么特别之处,只是人们倾向于将它们用作他们创建的第一个分支的初始名称。任何分支都可以随时重命名:名称无关紧要。

请注意,在 Git 中,分支名称仅包含Git 应视为该分支一部分的最后一次提交的哈希 ID 。分支名称的两个约束是:

这意味着在一个新的、空的 Git 存储库中,其中没有提交,也不存在分支名称。尽管如此,在这样的存储库中,您“在”某个分支上。你只是在一个不存在的分支上。进行第一次提交会创建具有该名称的分支——因此,在进行第一次提交之前,您可以随意更改名称:您正在更改不存在的分支的名称。

昨天,在楼梯上,
我遇到了一个不在那里的男人!
他今天又不在了。
哦,我多么希望他离开!
——威廉·休斯·梅恩斯

一旦你创建了你的第一个提交,你的初始分支名称现在就存在了。您现在可以重命名它,和/或创建尽可能多的分支名称,但必须选择相同的 commit。当您向存储库添加更多提交时,您可以使各种分支名称指向不同的提交,和/或添加新的分支名称。现有的提交仍然存在,并且可以通过从一些命名提交开始并向后工作来找到 - 或无法找到。