我是Git的新用户。我已经分叉了一个名为Spoon-Knife的存储库(可以用Git练习分叉)。然后,我通过运行
在本地克隆它git clone https://github.com/rohinichoudhary/Spoon-Knife.git
该存储库包含三个分支,即
master
,test-branch
,change-the-title
。当我运行git branch
时,它只显示*master
,而不显示其余两个分支。当我跑步时
git checkout test-branch
我收到以下错误:
错误:pathspec'test-branch'与git已知的任何文件都不匹配。
为什么会这样?我该如何解决这个问题?
答案 0 :(得分:29)
当我运行
git branch
时,它只显示*master
,而不显示其余两个分支。
git branch
没有列出test_branch
,因为您的本地仓库中不存在此类本地分支。克隆存储库时,只会创建一个本地分支(此处为master
,并在生成的克隆中检出,而不管您从中克隆的远程存储库中存在多少个分支。在此阶段,test_branch
仅作为remote-tracking branch存在于您的仓库中,而不是本地分支。
当我跑步时
git checkout test-branch
我收到以下错误[...]
你必须使用" old" Git的版本。在更新版本中(from v1.7.0-rc0 onwards),
如果找不到
<branch>
,但确实存在跟踪分支 只有一个匹配名称的远程(称为<remote>
),将[git checkout <branch>
]视为 相当于$ git checkout -b <branch> --track <remote>/<branch>
简单地运行
git checkout -b test_branch --track origin/test_branch
代替。或者更新到更新版本的Git。
答案 1 :(得分:18)
我的朋友,您需要先在本地创建相应的分支,以便使用此行代码检出其他两个分支
git branch test-branch
和
git branch change-the-title
然后只有你能够 git checkout 到这些分支
在创建每个分支后,使用 git pull origin branch_name 对这些特定分支进行最新更改,如下面的代码所示
git branch test-branch
git checkout test-branch
git pull origin test-branch
以及名为更改标题的其他分支在代码=&gt;
之后运行git branch change-the-title
git checkout change-the-title
git pull origin change-the-title
快乐编程:)
答案 2 :(得分:18)
现代Git应该能够检测远程分支并在结账时创建本地分支。
但是,如果您执行了a shallow clone(例如使用--depth 1
),请尝试使用以下命令进行更正:
git config remote.origin.fetch '+refs/heads/*:refs/remotes/origin/*'
git fetch --all
并尝试再次结帐。
或者尝试解压缩您的克隆,例如git fetch --unshallow
然后再试一次。
答案 3 :(得分:13)
如果远程分支是在您上次克隆/获取后创建的,并且您的本地仓库尚未了解它,您也可以使用任何版本的git获取此错误。我先通过git fetch
解决了这个问题,然后告诉&#34;关于所有远程分支的本地回购。
git fetch
git checkout test-branch
答案 4 :(得分:6)
只需按照三个步骤操作即可解决git branch问题。
git remote update
git fetch
git checkout --track origin/test-branch
答案 5 :(得分:1)
解决方案:
要修复它,您需要先获取
$ git fetch origin
$ git rebase origin/master
当前分支主数据是最新的。
$ git checkout develop
分支开发设置跟踪远程分支从源头开发。
切换到新分支'develop'
答案 6 :(得分:0)
我收到此错误是因为Web上的指令是
git checkout https://github.com/veripool/verilog-mode
我在一个我自己运行git init
的目录中执行的操作。
正确的网络说明(针对像我这样的新手)应该是
git clone https://github.com/veripool/verilog-mode
答案 7 :(得分:0)
以下为我工作
git pull
然后结帐所需的分支
答案 8 :(得分:0)
git fetch && git checkout分支名称
答案 9 :(得分:0)
首先使用
检查当前分支中是否有任何文件被修改git 状态
如果有任何添加或删除它然后尝试
git checkout branchName
答案 10 :(得分:0)
如果是标签,可以先git fetch --all --tags
再git checkout <TAG_NAME>
答案 11 :(得分:-1)
如果您的git分支不正确,即使区分大小写,也会出现此错误。 在我的情况下,我得到了这个错误,因为实际的分支名称是“CORE-something”,但我像拉“核心东西”一样拉。
答案 12 :(得分:-2)
在结帐之前尝试克隆。
执行git clone“在哪里找到它”,然后在克隆后检查分支