【问题标题】:Git does not recognize/list the branches of my repoGit 无法识别/列出我的仓库的分支
【发布时间】:2020-01-26 11:34:29
【问题描述】:

我有一个有两个分支的项目。现在我创建了第三个分支,我想从其中的新文件夹中推送代码。我从git init 开始,然后是git clone ssh-adress,所以我实际上已连接到我的项目。但现在我想用git branch --list 显示项目的分支,或者用git checkout name 切换分支。但是我要么一无所获,要么在尝试切换分支时收到此错误:

错误:pathspec 'name' 与 git 已知的任何文件都不匹配。

所以我想知道为什么会这样,因为我显然与我的项目路径有关。我错过了一个命令吗?

【问题讨论】:

  • 你是什么意思你做了git init 和 git clone?您是在尝试创建新的存储库还是创建现有存储库的新本地副本? git branch -la 说什么?
  • 我有一个包含三个分支(master、v2、v3)的存储库,每个分支都放在一个单独的文件夹中。现在我在 gitlab 中创建了 v3 分支。我只是初始化文件夹并将其与克隆连接到我的存储库。我想将我的第三个文件夹代码推送到这个 V3 分支,但不知何故我无法从终端到达分支。所有分支都在一个仓库中。 git branch -la 是空输出。
  • 这没有任何意义。您不必每个分支都有一个文件夹,您可以在一个本地副本中切换分支,并且您不需要在克隆到文件夹之前对其进行初始化。事实上,您可能已经将远程存储库克隆到一个单独的本地存储库,并且您正在查看新本地存储库的分支而不是克隆。
  • 好的。问题是它实际上适用于 master 和 v2,所以我不明白为什么它突然不起作用。所以我该怎么做?新建一个文件夹,先克隆再初始化?
  • 大概你做了不同的事情。如果您确实必须为每个分支创建一个文件夹(同样,这不是必需的),您只需 git clone <link> <directory> - 该目录不必被初始化(甚至不必存在)。

标签: git github terminal


【解决方案1】:

(这在 cmets 中已经简单讨论过。)

要从一个位置到另一个位置获取 repo,请使用git clone。您不需要 git init(尽管在现有的 repo 中运行它是无害的)。

在非 repo 中,git init 将创建一个新的。所以initing 在cloneing 之前是错误的。

最后,克隆不会从远程提取所有分支(通常只有一个)。要获取其他人,您需要一种结帐形式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-24
    • 2023-03-21
    • 2019-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    相关资源
    最近更新 更多