Pourquoi ne puis-je pas tirer de ma branche à distance?
[console]: git remote -v
origin [email protected]:myProj/myProj.git(fetch)
origin [email protected]: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
J'ai d'abord pris cette direction et ont fait pression pour un temps. Mais hier, je n'ai rebase d'une autre branche dans ma branche, de sorte que peut-être loupé quelque chose?
Vous devez vous connecter pour publier un commentaire.
Vous avez la syntaxe de mal: c'est
git pull [ remote [ branch-name ] ]
, pasgit pull remote/branch-name branch-name
. Dans ce cas, vous avez besoingit pull origin myBranch
.Cela dit, je recommande pas à l'aide de
git pull
à tous, au moins pas jusqu'à ce que vous êtes très familier avec Git. La raison en est quegit pull
fait deux choses, et la deuxième chose qu'il fait est exécutégit merge
, dont:git rebase
de toute façon.La première moitié de
git pull
estgit fetch
, de sorte que vous pouvez simplement exécutergit fetch
et puis, après, il réussit, courir, soitgit merge
ougit rebase
comme souhaité. Ces deux commandes beaucoup plus judicieux d'arguments qu'git pull
.Avec
git fetch
, vous le nom de la télécommande pour récupérer, par exemple,git fetch origin
(ou le laissergit fetch
figure it out:git fetch
sans arguments généralement figure à l'utilisation duorigin
automatiquement).Avec les deux
git merge
etgit rebase
, vous le nom de l'origin/myBranch
distance de suivi de branche, ou simplement laisser Git le comprendre, encore une fois.Tout ce que dit aussi,
git pull
généralement figure de tous ces sur son propre ainsi. En particulier, sigit merge
ougit rebase
peuvent comprendre d'utiliserorigin/myBranch
,git pull
peuvent comprendre d'utiliserorigin
etorigin/myBranch
pour ses deux étapes.La syntaxe correcte est
git pull origin myBranch
Le premier argument de la commande doit être le nom de la télécommande, comme suggéré par l'erreur
fatal: 'origin/myBranch' does not appear to be a git repository