web-dev-qa-db-fra.com

Il n'y a pas d'informations de suivi pour la branche actuelle

J'utilise github depuis relativement peu de temps et j'ai toujours utilisé le client pour effectuer des commits et des tirages. J'ai décidé de l'essayer hier à partir de Git Bash, et j'ai réussi à créer un nouveau dépôt et des fichiers validés.

Aujourd'hui, j'ai modifié le référentiel à partir d'un autre ordinateur, je les ai validées. Je suis maintenant de retour à la maison et j'ai effectué un git pull afin de mettre à jour ma version locale.

There is no tracking information for the current branch.
    Please specify which branch you want to merge with.
    See git-pull(1) for details

    git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

    git branch --set-upstream develop Origin/<branch>

le seul contributeur à ce repo est moi et il n'y a pas de branches (juste un maître). Je suis sur Windows et j'ai effectué l'extraction de git bash:

enter image description here

statut git:

$ git status
# On branch master
nothing to commit, working directory clean

branche git:

$ git branch
* master

Qu'est-ce que je fais mal?

456
valerio0999

Vous pouvez spécifier quelle branche vous voulez tirer:

git pull Origin master

Vous pouvez également le configurer de sorte que votre branche maître locale trace la branche principale de github en amont:

git branch --set-upstream-to=Origin/master master
git pull

Ce suivi de branche est configuré automatiquement pour vous lorsque vous clonez un référentiel (pour la branche par défaut uniquement), mais si vous ajoutez une télécommande à un référentiel existant, vous devez configurer vous-même le suivi. Heureusement, les conseils donnés par git rendent cela assez facile à retenir.

772
ComputerDruid

Voir: balise git checkout, git pull échoue dans la branche

Si, comme moi, vous devez le faire tout le temps, vous pouvez configurer un alias pour le faire automatiquement en ajoutant ce qui suit dans votre fichier .gitconfig:

[alias]
    set-upstream = \
       !git branch \
           --set-upstream-to=Origin/`git symbolic-ref --short HEAD`

Lorsque vous voyez le message There is no tracking information..., exécutez:

 git set-upstream
 git Push

Merci à https://zarino.co.uk/post/git-set-upstream/

33
rjmunro

La réponse de ComputerDruid est excellente, mais je ne pense pas qu'il soit nécessaire de configurer en amont manuellement sauf si vous le souhaitez. J'ajoute cette réponse parce que les gens pourraient penser que c'est une étape nécessaire.

Cette erreur disparaîtra si vous spécifiez la télécommande à extraire comme ci-dessous:

git pull Origin master

Notez que Origin est le nom de la télécommande et master est le nom de la branche.


1) Comment vérifier le nom de la télécommande

git remote -v

2) Comment voir quelles branches sont disponibles dans le référentiel.

git branch -r
9
Aerin

Je rencontre souvent ce message parce que je crée une branche locale via git checkout -b <feature-branch-name> sans créer au préalable la branche distante.

Une fois que tout le travail était terminé et validé localement, le correctif était git Push -u, qui a créé la branche distante, renvoyé tout mon travail, puis l'URL de demande de fusion.

7
Ron Reynolds

J'essayais les exemples ci-dessus et je ne pouvais pas les synchroniser avec une branche (non maîtresse) que j'avais créée sur un autre ordinateur. Pour l’arrière-plan, j'ai créé ce référentiel sur l’ordinateur A (git v 1.8), puis cloné le référentiel sur l’ordinateur B (git 2.14). J'ai fait toutes mes modifications sur la composition B, mais lorsque j'ai essayé d'extraire les modifications sur l'ordinateur A, je ne pouvais pas le faire, obtenant la même erreur ci-dessus. Semblable aux solutions ci-dessus, je devais faire:

git branch --set-upstream-to=Origin/<my_repository_name> 
git pull

légèrement différent, mais j'espère aide quelqu'un

4
imapotatoe123

1) git branch --set-up-to-= = Origin/<master_branch> feature/<your_current_branch>

2) git pull

3
MERLIN THOMAS

essayer

   git pull --rebase

espérons que cette réponse aide à l'origine répondu ici (https://stackoverflow.com/a/55015370/8253662

2
maheshmnj