【发布时间】:2019-12-14 19:10:33
【问题描述】:
我正在尝试将一个分支从远程存储库检出到本地分支,并收到上述错误。
对于那些想要指导我的人:
Why is it not a commit and a branch cannot be created from it?,然后我已经尝试获取,甚至
git fetch --all
确切地说,我无法签出 Github 存储库上的任何分支,这不是我正在跟踪的主分支,我们称之为 dev。
所以,我可以做到以下几点:
git checkout origin/dev -b my_own_dev_env
但我不能结帐任何其他分支,甚至没有
git checkout origin/master -b master
在这种情况下,我会收到
"致命:'origin/master' 不是提交,分支 'master' 不能 由它创造出来”
编辑: 克隆到新目录时,我可以像往常一样执行所有 git 操作。 所以我想知道本地副本中会出现什么问题导致 git 命令无法正常工作?
【问题讨论】:
-
我们需要更多信息。让我们开始吧,如果你创建了一个干净的远程克隆,你能检查你的分支吗?你能确认分支存在于遥控器上吗? origin等的配置是什么?
-
(1) 你引用的文本中的反斜杠是做什么的?粘贴错误信息时输入错误? (使用剪切和粘贴避免拼写错误。)(2)您最初使用的是
git clone --single-branch吗? -
@Liam,谢谢,再次克隆 repo 后,我可以签出任何我想要的分支。所以,我仍然想在我正在处理的同一个本地目录上工作。是什么阻止我检查分支?
-
@torek - (1) 谢谢,已编辑。 (2) 不是,我克隆时没有
single_branch选项。 -
啊哈。这就是
--single-branch的设置。如果您没有使用git clone --depth或git clone --single-branch,则必须以其他方式设置它。将此设置恢复正常,git fetch将使 `git checkout 再次工作。见stackoverflow.com/q/17714159/1256452