Il n'y a pas d'information de suivi pour la Direction générale actuelle
j'ai utilisé github depuis une période relativement courte, et j'ai toujours utilisé le client pour effectuer des commits et des pulls. J'ai décidé de l'essayer à partir du git bash hier, et j'ai réussi à créer un nouveau repo et des fichiers engagés.
Aujourd'hui j'ai fait des modifications au dépôt à partir d'un autre ordinateur, j'ai engagé les modifications et maintenant je suis de retour à la maison et a effectué un git pull
pour mettre à jour ma version locale et je reçois ceci:
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é la traction de Git bash:
git status:
$ git status
# On branch master
nothing to commit, working directory clean
git branch:
$ git branch
* master
Qu'est-ce que je fais de mal?
6 réponses
vous pouvez spécifier quelle branche vous voulez tirer:
git pull origin master
ou vous pouvez le configurer pour que votre branche maître locale suive la branche maître 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 dépôt (pour la branche par défaut seulement), mais si vous ajoutez une télécommande à un dépôt existant, vous devez configurer vous-même le suivi. Heureusement, le conseil donné par git fait que assez facile de se souvenir comment faire.
Voir: git checkout tag, git pull échoue dans la branche
si comme moi vous devez faire cela tout le temps, vous pouvez configurer un alias pour le faire automatiquement en ajoutant ce qui suit à votre .gitconfig
fichier:
[alias]
set-upstream = !git branch --set-upstream-to=origin/`git symbolic-ref --short HEAD`
quand vous voyez le message There is no tracking information...
, Lancez git set-upstream
, puis git push
à nouveau.
je rencontre souvent ce message exact parce que je crée une branche locale via git checkout -b <feature-branch-name>
sans d'abord créer la branche distante.
après que tout le travail a été terminé et engagé localement le correctif était git push -u
qui a créé la branche distante, a poussé tout mon travail, puis l'URL de la demande de fusion.
j'ai essayé les exemples ci-dessus et je n'ai pas pu les synchroniser avec une branche (non-master) que j'avais créée sur un autre ordinateur. Pour le fond, j'ai créé ce dépôt sur l'ordinateur A (git V 1.8) et ensuite cloné le dépôt sur l'ordinateur B (git 2.14). J'ai fait toutes mes modifications sur comp B, mais quand j'ai essayé de tirer les modifications sur Un ordinateur, j'ai été incapable de le faire, obtenir la même erreur ci-dessus. Semblable aux solutions ci-dessus, j'ai dû faire:
git branch --set-upstream-to=origin/<my_repository_name>
git pull
légèrement différent, mais j'espère aider quelqu'un
1) git branch --set-amont=origine/ <master_branch>
/ <your_current_branch>
2) la commande git pull
la réponse de ComputerDruid est bonne, mais je ne pense pas qu'il soit nécessaire de régler manuellement en amont à moins que vous le vouliez. 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 que vous voulez tirer 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 disponibles dans le dépôt.
git branch -r