Roh*_*ary 40 git github git-checkout git-fork
我是Git的新用户.我已经分叉了一个名为Spoon-Knife的存储库(可以用Git练习分叉).然后,我通过运行在本地克隆它
git clone https://github.com/rohinichoudhary/Spoon-Knife.git
Run Code Online (Sandbox Code Playgroud)
该存储库包含三个分支,即
master,test-branch,change-the-title.当我跑git branch,它只显示*master,而不是剩下的两个分支.当我跑
git checkout test-branch
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
错误:pathspec'test-branch'与git已知的任何文件都不匹配.
为什么会这样?我怎么解决这个问题?
jub*_*0bs 30
当我跑
git branch,它只显示*master,而不是剩下的两个分支.
git branch没有列出test_branch,因为您的本地仓库中不存在此类本地分支.克隆repo时,只创建一个本地分支(master此处)并在生成的克隆中检出,而不管从中克隆的远程仓库中是否存在分支数.在此阶段,test_branch仅作为远程跟踪分支存在于您的仓库中,而不是作为本地分支.
当我跑
Run Code Online (Sandbox Code Playgroud)git checkout test-branch我收到以下错误[...]
你必须使用Git的"旧"版本.在更新的版本中(从v1.7.0-rc0开始),
如果
<branch>找不到但是在一个<remote>具有匹配名称的远程(称为)中确实存在跟踪分支,则将[git checkout <branch>]视为等效于Run Code Online (Sandbox Code Playgroud)$ git checkout -b <branch> --track <remote>/<branch>
简单地跑
git checkout -b test_branch --track origin/test_branch
Run Code Online (Sandbox Code Playgroud)
代替.或者更新到更新版本的Git.
NIK*_*SIA 20
我的朋友,你需要首先在本地创建那些相应的分支,以便使用这行代码签出到其他两个分支.
git branch test-branch
Run Code Online (Sandbox Code Playgroud)
和
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
Run Code Online (Sandbox Code Playgroud)
对于名为change-the-title的其他分支, 运行以下代码=>
git branch change-the-title
git checkout change-the-title
git pull origin change-the-title
Run Code Online (Sandbox Code Playgroud)
快乐编程:)
ken*_*orb 18
现代Git应该能够检测远程分支并在结账时创建本地分支.
但是,如果您执行了浅层克隆(例如,使用--depth 1),请尝试以下命令进行更正:
git config remote.origin.fetch '+refs/heads/*:refs/remotes/origin/*'
git fetch --all
Run Code Online (Sandbox Code Playgroud)
并尝试再次结帐.
或者尝试取消对您的克隆的影响,例如git fetch --unshallow再试一次.
另请参阅:如何获取所有远程分支?
pil*_*kch 14
如果在上次克隆/获取之后创建了远程分支,并且您的本地存储库还不知道它,那么您也可以使用任何版本的git获取此错误.我通过做git fetch第一个"告诉"你当地的回购有关所有远程分支来解决它.
git fetch
git checkout test-branch
Run Code Online (Sandbox Code Playgroud)
只需按照三个步骤,git分支问题就会解决.
git remote update
git fetch
git checkout --track origin/test-branch
| 归档时间: |
|
| 查看次数: |
121336 次 |
| 最近记录: |