J'utilise 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 depuis le git bash hier, et j'ai réussi à créer un nouveau dépôt et des fichiers validés.
Aujourd'hui, j'ai apporté des modifications au référentiel à partir d'un autre ordinateur, j'ai validé les modifications et maintenant je suis de retour à la maison et j'ai effectué une git pull
mise à jour de ma version locale et j'obtiens 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 succursales (juste un master). Je suis sur Windows et j'ai effectué le pull de git bash:
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?
git remote -v
? Qu'est-ce que ça dit?git pull
.git pull --set-upstream-to=origin/master master
c'est possible. Voir ma réponse ciRéponses:
Vous pouvez spécifier la branche que vous souhaitez tirer:
Ou vous pouvez le configurer de sorte que votre branche principale locale suive la branche principale de github en amont:
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 le suivi vous-même. Heureusement, les conseils donnés par git rendent cela assez facile à retenir.
la source
git branch -u origin/master
, en supposant que vous avez déjà extrait master. Sinon,git branch -u origin/master master
cela fonctionnera.--set-upstream-to=
syntaxe plus claire . (qui remplace--set-upstream
)fetch
a été perdu. D'où la nécessité de le réinstaller. :)Voir: git checkout tag, 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 à votre
.gitconfig
fichier:Lorsque vous voyez le message
There is no tracking information...
, exécutez:Merci à https://zarino.co.uk/post/git-set-upstream/
la source
.gitconfig
sur une seule ligne (peut être modifié pour les configurations locales ou autres en conséquence):git config --global alias.set-upstream '!git branch --set-upstream-to=origin/$(git symbolic-ref --short HEAD)'
La réponse de ComputerDruid est excellente, mais je ne pense pas qu'il soit nécessaire de configurer manuellement en amont, 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 que vous souhaitez tirer comme ci-dessous:
Notez qu'il
origin
s'agit du nom de la télécommande etmaster
du nom de la branche.1) Comment vérifier le nom de la télécommande
2) Comment voir quelles branches disponibles dans le référentiel.
la source
Je rencontre souvent ce message exact parce que je crée des succursales locales via
git checkout -b <feature-branch-name>
sans créer d'abord la branche distante.Une fois tout le travail terminé et validé localement, le correctif était de
git push -u
créer la branche distante, de pousser tout mon travail, puis l'URL de demande de fusion.la source
git push -u origin <my-feature-branch-name>
pour créer la branche distante et pousser mon travailJ'essayais les exemples ci-dessus et je ne pouvais pas les synchroniser avec une branche (non maître) que j'avais créée sur un autre ordinateur. Pour le fond, 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 effectué toutes mes modifications sur le comp B, mais lorsque j'ai essayé de les transférer sur l'ordinateur, AI n'a pas pu le faire, obtenant la même erreur ci-dessus. Semblable aux solutions ci-dessus, je devais faire:
légèrement différent, mais j'espère que quelqu'un aide
la source
essayer
j'espère que cette réponse aide à répondre à l'origine ici https://stackoverflow.com/a/55015370/8253662
la source
Avec Git 2.24, vous n'aurez plus à faire
Vous pourrez faire:
Voir plus à " option distante et branche par défaut en utilisant l'
-u
option - fonctionne avecpush
mais paspull
".la source
1) git branch --set-upstream-to = origine /
<master_branch>
feature /<your_current_branch>
2) git pull
la source
$ git branch --set-upstream-to=heroku/master master
ettravaillé pour moi!
la source
La même chose m'est arrivée avant quand j'ai créé une nouvelle branche git sans la pousser à l'origine.
Essayez d'exécuter ces deux lignes en premier:
Alors:
Ça devrait aller maintenant!
la source
Cela se produit car la branche actuelle n'a pas de suivi sur la branche de la télécommande. vous pouvez donc le faire de 2 façons.
la source
git branch --set-upstream-to = origin / main
la source