【发布时间】: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>- 该目录不必被初始化(甚至不必存在)。