web-dev-qa-db-fra.com

Git: Comment vérifier si un dépôt local est à jour?

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?

38
Misha Moroshko

Essayez git fetch --dry-run Le manuel (git help fetch) dit:

--dry-run
Show what would be done, without making any changes.
54
Philip Oakley

vous pouvez utiliser git status -uno pour vérifier si votre succursale est à jour avec celle d’origine.

8
flowdee
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) <-------
5
jim smith

Pas vraiment - mais je ne vois pas en quoi git fetch ferait mal car cela ne changera aucune de vos succursales locales.

5
Niclas Kirschmeier

Vous devrez émettre deux commandes:

  1. git chercher l'origine
  2. statut git
3
user3695833

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.

2
braitsch

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

2
Amanuel Nega

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"?

1
Jörg W Mittag

Commencez par utiliser git remote update pour mettre à jour vos références à distance. Ensuite, vous pouvez faire l’une des choses suivantes:

  1. 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.
  2. 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.

0
Piyush Agarwal