Je travaille avec un système de construction personnalisé qui gère un grand nombre de référentiels Git et écrit principalement en Python. P>
Cela me sauverait beaucoup de temps si je pouvais écrire une commande qui signalerait la branche actuelle de tous les référentiels, puis signalez si la tête de "branche" est identique à la tête de "télécommandes / origine / branche" . P>
Nous avons déjà une commande qui dirigera une commande shell à l'intérieur de chaque référentiel git, ce que je recherche est une méthode consistant à obtenir des informations simplement formatées de Git en ce qui concerne la position relative de la branche et des télécommandes / Origine / Origine / Origine / Origine / Origine . Quelque chose qui va être le nombre de différences commet-commits ou une simple valeur booléenne. P>
Quelle est la méthode de l'obtention de ces informations sur Git, ce qui va minimiser la quantité d'analyse et de traitement que je dois faire sur le côté Python? P>
3 Réponses :
Statut de git code> montre combien de commits vous êtes à l'avance / derrière la branche de suivi distante. Vous devez d'abord effectuer Git Fetch, car sinon Git ne peut pas savoir si quelque chose de nouveau est entré dans la télécommande. P>
si branche code> est assuré d'être ancêtre de Origine / Branche Code> (c.-à-d. Fast-expéditable), puis git log --oneline branch..origin/branch
Si vous avez une nouvelle version suffisante de GIT, vous pouvez utiliser:
$ git rev-list --count --left-right branch...origin/branch 2 1