我是 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
我收到以下错误:
错误:路径规范“test-branch”与 git 已知的任何文件都不匹配。
为什么会出现这种情况?我该如何解决这个问题?
现代 Git 应该能够检测远程分支并在签出时创建本地分支。
但是,如果您进行了浅克隆(例如使用
--depth 1
),请尝试以下命令来纠正它:
git config remote.origin.fetch '+refs/heads/*:refs/remotes/origin/*'
git fetch --all
并尝试再次结帐分支。
或者尝试浅化您的克隆,例如
git fetch --unshallow
然后再试一次。
另请参阅:如何获取所有远程分支?
当我运行
时,它只显示git branch
,而不显示剩余的两个分支。*master
git branch
未列出 test_branch
,因为您的本地存储库中尚不存在这样的本地分支。克隆存储库时,只会创建一个本地分支(此处为master
)并在生成的克隆中检出,无论您从中克隆的远程存储库中存在多少分支。在此阶段,test_branch
仅作为远程跟踪分支存在于您的存储库中,而不是作为本地分支。
当我跑步时
git checkout test-branch
我收到以下错误[...]
您必须使用“旧”版本的 Git。在更新的版本中(从 v1.7.0-rc0 开始),
如果未找到
但确实存在跟踪分支 恰好有一个具有匹配名称的遥控器(称之为<branch>
),将 [<remote>
] 视为 相当于git checkout <branch>
$ git checkout -b <branch> --track <remote>/<branch>
只需运行
git checkout -b test_branch --track origin/test_branch
相反。或者更新到更新版本的 Git。
我的朋友,您需要首先在本地创建相应的分支,以便使用这行代码签出到其他两个分支
git branch test-branch
和
git branch change-the-title
然后只有你才能对这些分支进行 git checkout
此外,在创建每个分支后,使用 git pull originbranch_name 获取这些特定分支的最新更改,如下面的代码所示
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
祝编程愉快:)
如果远程分支是在您上次克隆/获取之后创建的,并且您的本地存储库还不知道,那么任何版本的 git 都可能会出现此错误。 我通过首先执行
git fetch
来解决这个问题,它“告诉”您的本地存储库有关所有远程分支的信息。
git fetch
git checkout test-branch
只要按照三个步骤,git分支问题就解决了。
git remote update
git fetch
git checkout --track origin/test-branch
解决方案:
要修复它,您需要先获取
$ git fetch origin
$ git rebase origin/master
当前分支主控已更新。
$ git checkout develop
设置分支开发以跟踪来自原点的远程分支开发。
切换到新分支“develop”
如果您的 git 分支不正确,即使区分大小写,也可能会出现此错误。 就我而言,我收到此错误,因为实际分支名称是“CORE-something”,但我像“core-something”一样拉动。
我收到此错误是因为网上的说明是
git checkout https://github.com/veripool/verilog-mode
我在(我自己主动)运行过
git init
的目录中执行了此操作。
正确的网络指令(对于像我这样的新手)应该是
git clone https://github.com/veripool/verilog-mode
以下对我有用
git pull
然后查看所需的分支
git fetch && git checkout 分支名称
首先检查当前分支中是否有任何文件被修改,使用
git 状态
如果有任何添加或删除,请尝试
git checkout 分支名称
如果是标签,可以先
git fetch --all --tags
然后git checkout <TAG_NAME>
结账前尝试克隆。
执行 git clone “在哪里找到它”,然后在克隆后检查分支