J'aimerais savoir si mon dépôt local est à jour (et sinon, idéalement, j'aimerais voir les changements).
Comment puis-je vérifier cela sans faire git fetch
ou git pull
?
Essayez git fetch --dry-run
Le manuel (git help fetch
) dit:
--dry-run
Show what would be done, without making any changes.
vous pouvez utiliser git status -uno
pour vérifier si votre succursale est à jour avec celle d’origine.
git remote show Origin
Résultat:
HEAD branch: master
Remote branch:
master tracked
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git Push':
master pushes to master (local out of date) <-------
Pas vraiment - mais je ne vois pas en quoi git fetch
ferait mal car cela ne changera aucune de vos succursales locales.
Vous devrez émettre deux commandes:
Vous devez exécuter git fetch
avant de pouvoir comparer votre référentiel local aux fichiers de votre serveur distant.
Cette commande ne met à jour que vos branches de suivi à distance et n'affectera pas votre arbre de travail tant que vous n'avez pas appelé git merge
ou git pull
.
Pour voir la différence entre votre branche locale et votre branche de suivi à distance une fois que vous avez récupéré, vous pouvez utiliser git diff ou git cherry comme expliqué ici.
Une autre alternative consiste à afficher le statut de la branche distante à l'aide de git show-branch remote/branch
et à l'utiliser à titre de comparaison. git show-branch *branch
permet d'afficher la branche dans toutes les télécommandes ainsi que dans votre référentiel! Découvrez cette réponse pour plus https://stackoverflow.com/a/3278427/2711378
C'est impossible. Comment savoir si le référentiel est ou non "à jour" sans consulter le référentiel distant pour savoir ce que signifie "à jour"?
Commencez par utiliser git remote update
pour mettre à jour vos références à distance. Ensuite, vous pouvez faire l’une des choses suivantes:
git status -uno
vous dira si la branche que vous suivez est en avance, en retard ou a divergé. Si cela ne dit rien, le local et le Distant sont les mêmes.git show-branch *master
vous montrera les commits dans toutes les branches dont les noms se terminent par 'master' (par exemple, master et Origin/master).Si vous utilisez -v avec git remote update (mise à jour git remote -v), vous pouvez voir quelles branches ont été mises à jour, de sorte que vous n'avez pas vraiment besoin de commandes supplémentaires.