【问题标题】:Git error "fatal: XXX is not a commit and a branch YYY cannot be created from itGit错误“致命:XXX不是提交并且无法从中创建分支YYY
【发布时间】: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

标签: git github


【解决方案1】:

首先通过执行以下命令检查您是否已获取所有分支。

git fetch --all

检查本地是否存在分支名称

git branch -a

执行命令跟踪远程分支并在本地创建一个

git checkout -t origin/<Branch Name>

【讨论】:

    猜你喜欢
    • 2014-04-17
    • 1970-01-01
    • 2015-09-05
    • 1970-01-01
    • 1970-01-01
    • 2014-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多