27 Question: Comment puis-je extraire une branche Git distante?

question créée à Sun, May 21, 2017 12:00 AM

Quelqu'un a transféré une branche appelée test avec git push origin test vers un référentiel partagé. Je peux voir la branche avec git branch -r.

J'essaie maintenant de vérifier la branche distante test.

j'ai essayé:

  • git checkout test qui ne fait rien

  • git checkout origin/test donne * (no branch). Ce qui est déroutant. Comment puis-je être sur "pas de branche"?

Comment puis-je extraire une branche Git distante?

    
6168
  1. @ inger Mais cela n'inclut pas la possibilité de renommer la nouvelle branche locale (si vous voulez - configurer ultérieurement en amont et conserver la cohérence de dénomination)
    2014-02-01 12: 43: 49Z
  2. Je pense que ce fil n'est pas utile. Rien ne semble fonctionner, la question initiale semble avoir été perdue dans de nombreuses réponses. J'ai lu chaque mot, tout essayé ci-dessous et je ne sais pas comment faire ce que le PO veut faire.
    2014-08-26 00: 16: 17Z
  3. Les commandes Git ne sont pas intuitives pour commencer, ajoutez les modifications introduites avec les versions récentes au mixage et vous avez cette page ...
    2016-01-12 17: 41: 39Z
  4. J'ai l'impression de prendre des pilules folles. J'essaie de récupérer une branche d'un upstream, pas seulement origin, et chaque réponse recommandée ne fait rien de très utile (jeu de mots). MODIFIER - excusez-moi, la multitude de suggestions contenues dans les 2 premières réponses était inutile; 3ème (git branch test origin/test) est ce qui fonctionne. Heureux que les 2 premiers aient 20 fois le nombre de voix ...
    2017-03-09 16: 35: 18Z
  5. Vous avez peut-être un fichier nommé "test" dans votre arbre de travail, voir stackoverflow.com/a/45006389/792416 pour plus de détails.
    2017-07-10 07: 50: 10Z
27 réponses                              27                         

Mettre à jour

La

réponse de Jakub améliore en réalité cette situation. Avec les versions Git ≥ 1.6.6, avec une seule télécommande, vous pouvez simplement faire:

 
git fetch
git checkout test

Comme l'utilisateur masukomi le fait remarquer dans un commentaire, git checkout test NE fonctionnera PAS dans git moderne si vous avez plusieurs télécommandes. Dans ce cas, utilisez

 
git checkout -b test <name of remote>/test

ou le raccourci

 
git checkout -t <name of remote>/test

Ancienne réponse

Avant de pouvoir commencer à travailler localement sur une branche distante, vous devez le récupérer comme indiqué dans les réponses ci-dessous.

Pour récupérer une branche, il vous suffit de:

 
git fetch origin

Ceci récupérera toutes les branches distantes pour vous. Vous pouvez voir les branches disponibles à la caisse avec:

 
git branch -v -a

Avec les branches distantes en main, vous devez maintenant vérifier la branche qui vous intéresse, en vous donnant une copie de travail locale:

 
git checkout -b test origin/test
    
8502
2019-01-23 19: 08: 51Z
  1. Pour approfondir ceci: git ne vous permet pas de travailler sur les branches de quelqu'un d'autre. Vous ne pouvez travailler que par vous-même. Donc, si vous voulez ajouter à la branche de quelqu'un d'autre, vous devez créer votre propre "copie" de cette branche, comme le fait la commande ci-dessus (elle crée votre branche et la vérifie également).
    2009-11-23 15: 24: 13Z
  2. S'il s'agit d'une nouvelle branche distante, vous devrez peut-être git fetch avant de le faire pour que git soit au courant de origin/test
    2011-11-04 14: 38: 53Z
  3. ... et vous le feriez avec git fetch origin test
    2012-01-22 23: 24: 42Z
  4. Erreur:" git checkout: la mise à jour des chemins est incompatible avec le changement de branche. Aviez-vous l'intention de passer à la caisse origin/test qui ne peut pas être résolue en tant que commit? "
    2012-09-11 20: 35: 59Z
  5. git checkout test NE fonctionnera PAS dans git moderne si vous avez plusieurs télécommandes ayant le même nom de branche . Il ne sait pas lequel utiliser.
    2014-09-16 15: 34: 55Z

Note: Avec Git moderne (> = 1.6.6 ), vous ne pouvez utiliser que

 
git checkout test

(notez qu'il est 'test' et non 'origine /test') d'effectuer une opération magique DWIM - créez et testez pour vous une branche locale, pour laquelle le amont serait une" origine /test "de la branche de suivi à distance.

La sortie * (no branch) dans git branch signifie que vous êtes sur une branche non nommée, dans l'état dit "détaché HEAD" (HEAD pointe directement à commettre et n'est pas une référence symbolique à une branche locale). Si vous avez effectué des commits sur cette branche sans nom, vous pouvez toujours créer une branche locale à partir de la validation actuelle:

 
git checkout -b test HEAD
    
1200
2014-02-24 19: 45: 54Z
  1. Pas surprenant, mais cette version a été publiée ces dernières années - connaître cette syntaxe peut faire gagner beaucoup de temps car il reste encore beaucoup d'anciens fils de documentation et de commentaire flottants. autour qui suggèrent l'ancienne méthode pour ce faire.
    2012-04-16 13: 24: 49Z
  2. "modern git" - pour l'enregistrement, (environ) de quelle version faites-vous référence? Parfois, nous devons travailler sur des systèmes exécutant des distributions plus anciennes.
    2012-08-28 02: 30: 55Z
  3. "git moderne" dans ce contexte est git 1.6.6
    2013-03-19 20: 29: 52Z
  4. @ aidan Si vous obtenez une réponse comme error: pathspec 'branch_name' did not match any file(s) known to git., vous devez d'abord effectuer une extraction git.
    2013-10-18 00: 40: 10Z
  5. Utilisation de la version 1.8.3.msysgit.0 de Git et cela ne fonctionne pas pour moi - ne correspond à aucun fichier connu de git - je l'ai déjà fait beaucoup de récupérations
    2013-12-03 23: 59: 44Z

Dans ce cas, vous souhaiterez probablement créer une branche test locale qui suit la branche test distante:

 
$ git branch test origin/test

Dans les versions précédentes de git, vous aviez besoin d'une option --track explicite, mais il s'agit de la valeur par défaut pour les branches distantes.

    
529
2016-02-24 09: 06: 49Z
  1. Ceci créera une branche locale sans y basculer.
    2013-10-16 07: 20: 02Z
  2. Bien que je sois devenu fatal: nom d'objet ambigu: 'origine /dev' - où une branche 'dev' sur origine existe très certainement - mais j'avais créé accidentellement une branche appelé "origine /dev" sur ma machine (dans mes précédentes tentatives stupides pour obtenir ce droit, sans aucun doute) ... ouch
    2013-12-04 00: 04: 50Z
  3. Cela m'a donné l'erreur suivante: échec de l'envoi de certaines références à l'indice: les mises à jour ont été rejetées car une extrémité de branche poussée est derrière son indice distant: contrepartie. Regarde çabranchez et fusionnez les modifications distantes indice: (par exemple, 'git pull') avant de pousser à nouveau. Astuce: Consultez la "Note sur les transferts rapides" dans "git push --help" pour plus de détails.
    2014-06-18 20: 01: 53Z
  4. git branch test fonctionne pour moi
    2017-02-17 15: 27: 20Z

Réponse acceptée ne fonctionne pas pour vous?

Alors que la première réponse sélectionnée est techniquement correcte , il est possible que vous n'ayez pas encore récupéré tous les objets et références du référentiel distant. Si tel est le cas, le message d'erreur suivant s'affiche:

 
$ git checkout -b remote_branch origin/remote_branch
  

fatal: git checkout: la mise à jour des chemins est incompatible avec le changement de branche.
  Aviez-vous l'intention de passer à la commande 'origin /remote_branch' qui ne peut pas être résolu en tant que commit?

Solution

Si vous recevez ce message, vous devez commencer par effectuer une opération git fetch originorigin est le nom du référentiel distant avant l'exécution de git checkout remote_branch. Voici un exemple complet avec des réponses:

 
$ git fetch origin
remote: Counting objects: 140, done.
remote: Compressing objects: 100% (30/30), done.
remote: Total 69 (delta 36), reused 66 (delta 33)
Unpacking objects: 100% (69/69), done.
From https://github.com/githubuser/repo-name
   e6ef1e0..5029161  develop    -> origin/develop
 * [new branch]      demo       -> origin/demo
   d80f8d7..359eab0  master     -> origin/master

$ git checkout demo
Branch demo set up to track remote branch demo from origin.
Switched to a new branch 'demo'

Comme vous pouvez le constater, l'exécution de git fetch origin a extrait toutes les branches distantes que nous n'avions pas encore configurées pour effectuer le suivi sur notre ordinateur local. À partir de là, puisque nous avons maintenant une référence à la branche distante, nous pouvons simplement exécuter git checkout remote_branch et nous allons bénéficier des avantages du suivi à distance.

    
442
2017-05-23 12: 26: 35Z
  1. J'ajouterai une note si vous avez une branche distincte localement: assurez-vous de l'avoir associé au référentiel distant à l'aide de 'git remote add origin [chemin_du_votre_repo /nom_du_po. git] '. Ensuite, utilisez 'git fetch origin' où 'origine' signifie le référentiel d'origine avec lequel vous avez établi l'association.
    2015-02-02 05: 51: 14Z
  2. git checkout -b newbranch fonctionne également très bien pour la création et l'extraction en une étape d'une nouvelle branche basée sur la branche actuelle.
    2016-05-19 13: 41: 18Z
  3. Je pense que c'est la version la plus récente (elle maintient $@ #! ing changeant!). Git 2.5.5 J'ai trouvé le seul moyen de voir les succursales distantes était git ls-remote et le seul moyen d'en utiliser un est git checkout -b [branch] --track [remote/branch] ... et c'est après git pull [remote] [branch] qui a fonctionné. C'est-à-dire qu'il a en fait tiré toute la branche, mais ne l'a toujours pas listée.
    2016-05-26 12: 51: 12Z
  4. et si cette réponse ne fonctionne pas non plus, voir celui-ci .
    2018-01-16 12: 48: 42Z
  5. il suffit d'ajouter que si vous git fetch other_remote only_branch, vous obtenez toujours l'erreur fatal. Vous devez git fetch other_remote sans le nom de la branche. Design étrange.
    2018-12-29 02: 56: 29Z

J'ai essayé la solution ci-dessus, mais cela n'a pas fonctionné. Essayez ceci, ça marche:

 
git fetch origin 'remote_branch':'local_branch_name'

Ceci récupérera la branche distante et créera une nouvelle branche locale (si elle n'existe pas déjà) avec le nom local_branch_name et suivra la branche distante qu'il contient.

    
230
2015-05-04 01: 45: 53Z
  1. Cela a fonctionné pour moi quand ni git fetch d'origine ni la mise à jour à distance git n'ont créé de branches locales. Je ne sais pas pourquoi.
    2014-09-11 08: 45: 56Z
  2. Il s’agissait du moyen le plus direct d’accomplir ce dont j'avais besoin, à savoir utiliser une branche distante (non principale) pour créer une nouvelle branche.
    2015-11-13 23: 15: 47Z
  3. Seamles travailléssournois, surtout quand on a cloné une seule branche à partir d’une télécommande avec plusieurs branches.
    2016-10-17 10: 19: 54Z
  4. cela a également fonctionné pour moi, contrairement aux réponses acceptées et aux autres votes élevés. Ma version de Git est la 2.5.0
    2017-02-17 12: 46: 30Z
  5. Quelqu'un at-il une idée de la raison pour laquelle cela fonctionne alors que tout le reste ne fonctionne pas? (Je suis sur Git 2.13.0)
    2017-06-19 18: 43: 40Z

Cela DWIM pour une origine distante non nommée ( documentation ):

 
$ git checkout -t remote_name/remote_branch

Pour ajouter une nouvelle télécommande, vous devez d'abord procéder comme suit:

 
$ git remote add remote_name location_of_remote
$ git fetch remote_name

Le premier indique à Git que la télécommande existe, le second obtient les commits.

    
105
2014-07-13 23: 09: 32Z

Utiliser:

 
git checkout -b <BRANCH-NAME> <REMOTE-NAME>/<BRANCH-NAME>

D'autres réponses ne fonctionnent pas avec Git moderne dans mon cas bénin. Vous devrez peut-être d'abord tirer si la branche distante est nouvelle, mais je n'ai pas vérifié cette affaire.

    
100
2016-06-30 16: 09: 02Z
  1. Savez-vous qu'il s'agit d'un extrait de cette réponse ?
    2016-02-21 11: 03: 56Z
  2. En le regardant maintenant, ils se chevauchent. Seul le mien est succinct et vous dit quoi faire plutôt que de raconter une histoire. Je suppose que cela peut donc être plus utile, en particulier pour les versions actuelles de Git. Si vous pensez que la réponse est mauvaise, vous pouvez en retirer le vote.
    2016-02-21 11: 34: 02Z
  3. git fetch est l'option sûre. Essayez d'aller chercher avant d'utiliser pull. Les deux téléchargent du contenu distant, mais si l'extraction ne change pas l'état local, pull modifiera immédiatement l'état local.
    2019-04-03 08: 07: 28Z

OK , la réponse est simple ... En gros, vous voyez la branche, mais vous n'avez pas encore de copie locale! ...

Vous devez fetch la branche ...

Vous pouvez simplement récupérer, puis passer à la branche, utilisez la commande d'une ligne ci-dessous pour le faire:

 
git fetch && git checkout test

J'ai également créé l'image ci-dessous pour que vous puissiez partager les différences, voir comment fetch fonctionne et également en quoi c'est différent de pull:

 git fetch

    
80
2018-08-23 13: 30: 02Z
  1. Ne fonctionne pas s'il n'y a pas de branche locale test
    2018-04-25 03: 26: 59Z
  2. @ DmitriZaitsev oui, cela fonctionnera, si la branche distante est présente et que vous récupérez, vous obtiendrez la branche localement ... git fetch & & git checkout test..Alors cela fonctionne, à moins qu'il n'y ait pas de branche distante, mais la question disant qu'il y a déjà une branche distante est là ...
    2018-04-25 05: 13: 02Z
  3. Comme je vois la question, test ressemble à une nouvelle branche, il est donc peu probable qu'elle soit présente localement. Sinon, vous pourriez tirer plus facilement avec une seule commande git pull.
    2018-04-25 12: 51: 36Z
  4. @ DmitriZaitsev, oui, c'est pourquoi j'ai dit que git fetch, cette vérification des branches distantes qui viennent d'être créées, pull peut importer d'autres éléments indésirables, mais chercher rend toutes les branches disponibles si vous avez déjà le repo localement ...
    2018-04-25 13: 36: 31Z
  5. fetch sans pull ne laisserait-il pas de modifications dans la copie extraite, mais pas dans la branche locale, ce qui ferait que votre branche locale ne serait pas à jour?
    2018-04-25 14: 38: 40Z

Pour cloner un référentiel Git, procédez comme suit:

 
git clone <either ssh url /http url>

La commande ci-dessus vérifie toutes les branches, mais seule la branche master sera initialisée. Si vous souhaitez utiliser les autres branches, procédez comme suit:

 
git checkout -t origin/future_branch (for example)

Cette commande extrait la branche distante et le nom de votre branche locale sera identique à celui de la branche distante.

Si vous souhaitez remplacer le nom de votre branche locale à la caisse:

 
git checkout -t -b enhancement origin/future_branch

Votre nom de branche locale est maintenant enhancement, mais votre nom de branche distante est future_branch.

Documentation

    
52
2014-07-13 23: 11: 32Z
  1. git clone < soit ssh url /http url > - fonctionne parfaitement pour moi
    2014-12-16 16: 56: 14Z
  2. Oui, vous avez raison. Merci pour votre information, je la mettrai à jour très bientôt @warvariuc
    2015-01-08 10: 45: 22Z
  3. Si la télécommande n'a pas master, cela ne fonctionnera pas.
    2016-09-27 16: 47: 26Z

Vous pouvez essayer

 
git fetch remote
git checkout --track -b local_branch_name origin/branch_name

ou

 
git fetch
git checkout -b local_branch_name origin/branch_name
    
34
2014-07-13 23: 13: 33Z
  1. À titre d'information, --track n'est plus nécessaire dans les nouvelles versions de git, car il est défini par défaut, comme expliqué dans cette réponse antérieure .
    2014-06-21 18: 03: 49Z

Tout d'abord, vous devez faire:

git fetch # Si vous ne connaissez pas le nom de la branche

 
git fetch origin branch_name

Deuxièmement, vous pouvez vérifier une succursale distante dans votre section locale en:

 
git checkout -b branch_name origin/branch_name

-b créera une nouvelle branche dans le nom spécifié à partir de la branche distante sélectionnée.

    
28
2017-05-21 11: 18: 05Z
  1. Je ne comprends pas -b. Si vous pouvez faire "git checkout master", pourquoi ne pas "git checkout origin /test"?
    2018-01-23 18: 16: 36Z
  2. - b pour la nouvelle branche d'origine /maître
    2018-01-24 01: 13: 09Z

Commandes

 
git fetch --all
git checkout -b <ur_new_local_branch_name> origin/<Remote_Branch_Name>

sont égaux à

 
 git fetch --all

et ensuite

 
 git checkout -b fixes_for_dev origin/development

Les deux créeront un latest fixes_for_dev à partir de development

    
27
2016-04-21 21: 58: 15Z

J'utilise la commande suivante:

 
git checkout --track origin/other_remote_branch
    
25
2018-03-21 18: 36: 52Z
  1. Cette réponse serait beaucoup plus utile si vous expliquez pourquoi vous l'utilisez de cette façon. c'est-à-dire pourquoi quelqu'un devrait utiliser '--track' et ainsi de suite ...
    2017-11-20 03: 19: 36Z

Si la branche se trouve sur autre chose que la télécommande origin, j'aime bien procéder comme suit:

 
$ git fetch
$ git checkout -b second/next upstream/next

Ceci permettra de vérifier la branche next sur la télécommande upstream dans une branche locale appelée second/next. Ce qui signifie que si vous avez déjà une branche locale nommée next, elle ne sera pas en conflit.

 
$ git branch -a
* second/next
  remotes/origin/next
  remotes/upstream/next
    
23
2013-05-30 05: 54: 57Z

git branch -r indique que le nom de l'objet n'est pas valide, car ce nom de branche ne figure pas dans la liste des branches locales de Git. Mettez à jour votre liste de branches locales depuis l'origine avec:

 
git remote update

Et essayez à nouveau de vérifier votre branche distante.

Cela a fonctionné pour moi.

Je pense que git fetch affiche toutes toutes les branches distantes, ce qui n’est pas ce que l’affiche originale voulait.

    
16
2014-07-13 23: 12: 49Z
  1. Pour info, git remote update récupérera également toutes les branches distantes .
    2014-06-21 17: 59: 37Z

aucune de ces réponses n'a fonctionné pour moi. cela a fonctionné:

git checkout -b feature/branch remotes/origin/feature/branch

    
16
2018-07-10 02: 11: 25Z
  1. merci. Je me demandais si je devais utiliser le chemin complet ( télécommandes /origine /fonctionnalité /branche ) que j'avais vu dans git lors de l'appel de la commande git branch -a, mais je n'étais pas sûr, alors je viens d'utiliser git checkout -b apps/FEATURE/branch origin/apps/FEATURE/branch et cela a semblé fonctionner. Message: Branch 'apps/FEATURE/branch' set up to track remote branch 'apps/FEATURE/epicBranch' from 'origin'. Switched to a new branch 'apps/FEATURE/branch'
    2018-07-27 15: 41: 04Z
  2. Merci beaucoup @brianyang
    2018-12-20 11: 44: 32Z

git fetch && git checkout your-branch-name

    
15
2014-03-26 07: 00: 14Z

Exécutez simplement git checkout avec le nom de la branche distante. Git va créer automatiquement une branche locale qui effectue le suivi le distant:

 
git fetch
git checkout test

Cependant, si ce nom de branche est trouvé dans plusieurs télécommandes, cela ne fonctionnera pas car Git ne sait pas lequel utiliser. Dans ce cas, vous pouvez utiliser soit:

 
git checkout --track origin/test

ou

 
git checkout -b test origin/test

Dans 2.19 , Git a appris la checkout.defaultRemote , qui spécifie une télécommande distante par défaut lors de la résolution de telles une ambiguïté.

    
13
2018-09-13 12: 21: 19Z

J'étais coincé dans une situation en voyant error: pathspec 'desired-branch' did not match any file(s) known to git. pour toutes les suggestions ci-dessus. Je suis sur la version 1.8.3.1 de Git.

Donc, cela a fonctionné pour moi :

 
git fetch origin desired-branch
git checkout -b desired-branch FETCH_HEAD

L'explication derrière est que j'ai remarqué que lors de l'extraction de la branche distante, celle-ci était extraite dans FETCH_HEAD:

 
$ git fetch origin desired-branch
From github.com:MYTEAM/my-repo
    * branch            desired-branch -> FETCH_HEAD
    
13
2018-10-10 21: 52: 44Z

La commande git remote show <origin name> listera toutes les branches (y compris les branches non suivies). Ensuite, vous pouvez trouver le nom de la branche distante que vous devez récupérer.

Exemple:

 
$ git remote show origin

Suivez ces étapes pour récupérer des branches distantes:

 
git fetch <origin name> <remote branch name>:<local branch name>
git checkout <local branch name > (local branch name should the name that you given fetching)

Exemple:

 
$ git fetch origin test:test
$ git checkout test
    
10
2018-03-21 18: 34: 56Z
  1. @ hallski a répondu que les versions 2.15.1 ne fonctionnaient pas mais que je réduisais le fichier .git au clone seulement une branche et filtrait l'historique avec l'indicateur --depth. Par exemple, $ git clone -b release --single-branch --depth 5 https://github.com/user/repo.git Wron't information $ git remote show origin ne répertorie pas toutes les branches distantes avec des référentiels clonés à une branche.
    2018-01-30 13: 52: 37Z

D’autres gars et filles donnent les solutions, mais je peux peut-être vous dire pourquoi.

  

test Git Checkout qui ne fait rien

Does nothing n'est pas égal à doesn't work, donc je suppose que lorsque vous tapez 'git checkout test' dans votre terminal et que vous appuyez sur la touche Entrée, aucun message ne s'affiche et aucune erreur ne se produit. Ai-je raison?

Si la réponse est «oui», je peux vous en dire la cause.

La cause en est qu’il existe un fichier (ou dossier) nommé "test" dans votre arbre de travail.

Lorsque git checkout xxx a été analysé,

  1. Git recherche d'abord le nom de la branche xxx, mais il n'y a pas de branche nommée test.
  2. Alors Git pense que xxx est un chemin, et heureusement (ou malheureusement), il existe un fichier nommé test. Donc, git checkout xxx signifie que toute modification du fichier xxx sera ignorée.
  3. S'il n'y a pas non plus de fichier nommé xxx, alors Git essaiera de créer le xxx conformément à certaines règles. L’une des règles est de créer une branche nommée xxx s’il en existe remotes/origin/xxx.
8
2018-03-21 18: 39: 53Z
  1. merci, je n'arrêtais pas d'essayer de comprendre pourquoi git ne faisait rien.
    2018-11-26 19: 05: 43Z

Pour obtenir les nouvelles branches créées

 
git fetch

Pour basculer dans une autre branche

 
git checkout BranchName
    
7
2018-07-07 03: 59: 41Z

Vous pouvez commencer à suivre toutes les branches distantes avec le script Bash suivant:

 
#!/bin/bash
git fetch --all
for branch in `git branch -r --format="%(refname:short)" | sed 's/origin\///'`
  do git branch -f --track "$branch" "origin/$branch"
done

Voici également une version sur une seule ligne:

 
git fetch --all; for branch in `git branch -r --format="%(refname:short)" | sed 's/origin\///'`; do git branch --track "$branch" "origin/$branch" ; done ;
    
6
2018-03-21 18: 37: 49Z

Récupérez à partir de la télécommande et vérifiez la branche.

 
git fetch <remote_name> && git checkout <branch_name> 

Exemple:

  

git récupère l’origine & & Fonction Git Checkout /XYZ-1234-Ajouter des alertes

    
6
2019-03-12 09: 10: 57Z

S'il vous plaît follow la commande pour créer un dossier vide. Entrez cela et utilisez cette commande:

 
saifurs-Mini:YO-iOS saifurrahman$ git clone your_project_url
Cloning into 'iPhoneV1'...
remote: Counting objects: 34230, done.
remote: Compressing objects: 100% (24028/24028), done.
remote: Total 34230 (delta 22212), reused 15340 (delta 9324)
Receiving objects: 100% (34230/34230), 202.53 MiB | 294.00 KiB/s, done.
Resolving deltas: 100% (22212/22212), done.
Checking connectivity... done.
saifurs-Mini:YO-iOS saifurrahman$ cd iPhoneV1/
saifurs-Mini:iPhoneV1 saifurrahman$ git checkout 1_4_0_content_discovery
Branch 1_4_0_content_discovery set up to track remote branch 1_4_0_content_discovery from origin.
Switched to a new branch '1_4_0_content_discovery'
    
1
2016-06-30 16: 09: 52Z

Si le nom de la branche distante commence par des caractères spéciaux, vous devez utiliser des guillemets simples autour de lui dans la commande de contrôle, sinon git ne saura pas de quelle branche vous parlez.

Par exemple, j'ai essayé d'extraire une branche distante nommée #9773 mais la commande n'a pas fonctionné correctement, comme indiqué dans l'image ci-dessous:

 entrer la description de l'image ici

Pour une raison quelconque, je me demandais si le symbole pointu (#) pouvait avoir un rapport avec cela, puis j’ai essayé d’entourer le nom de la branche de guillemets simples, comme '#9773' plutôt que #9773, et cela a bien fonctionné.

 
$ git checkout -b '#9773' origin/'#9773'
    
1
2018-11-07 11: 17: 30Z
  1. Dans de nombreux shells unix, le caractère # est utilisé pour les commentaires, de sorte que tout ce qui suit # sera ignoré. Ceci est une chose shell et non quelque chose de spécifique à git. Utiliser des guillemets avant une # devrait suffire.
    2018-11-07 12: 12: 59Z

Utilisez fetch pour tirer toute votre télécommande

 
   git fetch --all

Pour répertorier les branches distantes:

 
   git branch -r

Pour lister toutes vos branches

 
   git branch -l
   >>outpots like-
     * develop
       test
       master

Pour commander /modifier une branche

 
   git checkout master
    
- 1
2019-06-07 16: 21: 45Z
  1. Essayé git branch -l et aucune branche distante n'a été affichée.
    2019-06-04 16: 36: 48Z
  2. utiliser git pull --all ou git fetch --all
    2019-06-07 16: 17: 21Z
  3. Oui, et après cela, git branch -l n'affiche toujours que les branches locales . Il semble fonctionner exactement comme git branch sans -l, alors quelle est la raison de -l?
    2019-06-08 01: 13: 10Z
  4. De plus, votre réponse ne répond pas à la question - master n'est pas une branche distante.
    2019-06-08 01: 15: 16Z
  5. -l Indicateur de liste. Vous pouvez aussi utiliser --list
    2019-06-09 02: 42: 23Z
source placée ici