error: pathspec 'test-branch' did not match any file(s) known to git

error: pathspec 'test-branch' did not match any file(s) known to git

我是Git的新用户。我已经分叉了一个名为 Spoon-Knife 的存储库(可用于使用 Git 练习分叉)。然后,我通过 运行ning

在本地克隆了它
git clone https://github.com/rohinichoudhary/Spoon-Knife.git

此存储库包含三个分支,即

当我运行git branch时,只显示*master,不显示其余两个分支。当我 运行

git checkout test-branch

我收到以下错误:

error: pathspec 'test-branch' did not match any file(s) known to git.

为什么会这样?我该如何解决这个问题?

When I run git branch, it only shows *master, not the remaining two branches.

git branch 没有列出 test_branch,因为你的本地仓库中还没有这样的本地分支。克隆一个存储库时,只创建一个本地分支(master,此处)并在生成的克隆中检出,而不管您从中克隆的远程存储库中存在的分支数量。在此阶段,test_branch 仅作为 remote-tracking branch 存在于您的存储库中,而不是 local 分支。

And when I run

git checkout test-branch

I get the following error [...]

您必须使用 "old" 版本的 Git。在更新的版本 (from v1.7.0-rc0 onwards) 中,

If <branch> is not found but there does exist a tracking branch in exactly one remote (call it <remote>) with a matching name, treat [git checkout <branch>] as equivalent to

$ git checkout -b <branch> --track <remote>/<branch>

简直运行

git checkout -b test_branch --track origin/test_branch

相反。或者更新到 Git.

的更新版本

朋友,你需要先在本地创建对应的分支,才能check-out到另外两个分支,使用这行代码

git branch test-branch  

git branch change-the-title

那么只有您可以git结帐那些分支

同样在创建每个分支之后,通过使用 git pull origin branch_name 获取这些特定分支的最新更改,如下代码所示[=14] =]

git branch test-branch
git checkout test-branch
git pull origin test-branch

以及其他名为 change-the-title 运行 的分支,代码如下 =>

git branch change-the-title
git checkout change-the-title
git pull origin change-the-title

编程愉快:)

如果远程分支是在您最后一个 clone/fetch 之后创建的,并且您的本地存储库还不知道,则任何版本的 git 也可能会出现此错误。我通过先 git fetch 解决了这个问题,其中 "tells" 你的本地回购关于所有远程分支。

git fetch
git checkout test-branch

现代 Git 应该能够检测远程分支并在结帐时创建本地分支。

但是,如果您这样做了 a shallow clone(例如使用 --depth 1),请尝试使用以下命令来更正它:

git config remote.origin.fetch '+refs/heads/*:refs/remotes/origin/*'
git fetch --all

并尝试再次签出分支。

或者尝试去浅化你的克隆,例如git fetch --unshallow 再试一次。

另请参阅:

只需要三步,git分支问题就解决了

git remote update
git fetch
git checkout --track origin/test-branch

如果您的 git 分支不正确,即使区分大小写,也会出现此错误。 在我的例子中,我得到了这个错误,因为实际的分支名称是 "CORE-something",但我正在拉 "core-something"。

解决方案:

要修复它,您需要先获取

$ git fetch origin

$ git rebase origin/master

当前分支 master 是最新的。

$ git checkout develop

分支开发设置跟踪远程分支从源头开发。

切换到新分支“开发”

在结帐之前尝试克隆。

做 git 克隆 "whee to find it" 然后在克隆后检查分支

我收到这个错误是因为网络上的说明是

git checkout https://github.com/veripool/verilog-mode

我在我有 运行 git init 的目录中进行的(我自己主动)。 正确的 Web 说明(对于像我这样的新手)应该是

git clone https://github.com/veripool/verilog-mode

以下对我有用

git pull

然后检查所需的分支

git 获取 && git 结帐 branch-name

首先检查您当前分支中是否有任何文件被修改使用

git状态

如果有任何添加或删除它然后尝试

git结帐分支名称

如果是标签,可以git fetch --all --tags然后git checkout <TAG_NAME>