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
此存储库包含三个分支,即
master
,
test-branch
,
change-the-title
.
当我运行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>
我是Git的新用户。我已经分叉了一个名为 Spoon-Knife 的存储库(可用于使用 Git 练习分叉)。然后,我通过 运行ning
在本地克隆了它git clone https://github.com/rohinichoudhary/Spoon-Knife.git
此存储库包含三个分支,即
master
,test-branch
,change-the-title
.
当我运行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>