[console]: git remote -v
origin git@testServer.com:myProj/myProj.git(fetch)
origin git@testServer.com:myProj/myProj.git(push)
[console]: git branch -a
*myBranch
development
remotes/origin/myBranch
remotes/origin/development
[console]: git pull origin/myBranch myBranch
fatal: 'origin/myBranch' does not appear to be a git repository
fatal: Could not read from remote repository
我最初创建这个分支并且已经推出了一段时间。虽然昨天我确实从另一个分支机构进入了我的分支,所以也许这搞砸了什么?
答案 0 :(得分:7)
您的语法错误:它是git pull [ remote [ branch-name ] ]
,而不是git pull remote/branch-name branch-name
。在这种情况下,您需要git pull origin myBranch
。
那就是说,我建议不使用git pull
,至少在你非常熟悉Git之前。原因是git pull
做了两件事,第二件事就是运行git merge
,其中:
git rebase
完成。 git pull
的前半部分为git fetch
,因此您只需运行git fetch
,然后在成功后运行git merge
或git rebase
期望。这两个命令都比git pull
采用更明智的参数。
使用git fetch
,您可以命名要从中获取的遥控器,例如git fetch origin
(或者只是让git fetch
弄明白:git fetch
没有参数通常会弄明白自动使用origin
。
同时使用git merge
和git rebase
,您可以命名origin/myBranch
远程跟踪分支,或者让Git再次找出它。
所有这些也说,git pull
通常也会自行解决所有这些问题。特别是如果git merge
或git rebase
可以确定使用origin/myBranch
,git pull
可以使用origin
和origin/myBranch
来实现其两个步骤
答案 1 :(得分:3)
正确的语法是git pull origin myBranch
该命令的第一个参数应该是远程的名称,如错误fatal: 'origin/myBranch' does not appear to be a git repository