J'ai cloné un référentiel, après quoi quelqu'un d'autre a créé une nouvelle branche, sur laquelle j'aimerais commencer à travailler. J'ai lu le manuel, et il semble mort facilement. Étrangement, cela ne fonctionne pas, et tous les messages que j'ai trouvés suggèrent que je fais la bonne chose. Je vais donc me soumettre au fustige, car il doit y avoir quelque chose de mal à l'évidence:
L'action correcte semble être
git fetch
git branch -a
* master
remotes/origin/HEAD --> origin/master
remotes/origin/master
git checkout -b dev-gml origin/dev-gml
À ce stade, il y a un problème, pour une raison quelconque, après que git fetch
je ne puisse pas voir la branche distante dev-gml. Pourquoi pas? Si je clone le référentiel fraîchement, il est là, donc la branche distante existe certainement:
$ mkdir ../gitest
$ cd ../gitest
$ git clone https://github.com/example/proj.git
Cloning into proj...
remote: Counting objects: 1155, done.
remote: Compressing objects: 100% (383/383), done.
remote: Total 1155 (delta 741), reused 1155 (delta 741)
Receiving objects: 100% (1155/1155), 477.22 KiB | 877 KiB/s, done.
Resolving deltas: 100% (741/741), done.
$ cd projdir
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/dev-gml
remotes/origin/master
Je l' ai essayé git update
, git pull
, git fetch --all
, git pretty-please
dans toutes les permutations possibles ...
+refs/heads/master:refs/remotes/origin/master
avec master
au lieu de*
git config --get remote.origin.fetch
produit? Si ce n'est pas le cas+refs/heads/*:refs/remotes/origin/*
, cela devrait probablement l'être.