En langage clair (avec un exemple simple, espérons-le), que signifient les mesures avant/arrière sur la branche d'un dépôt Github?
Et quelles sont les implications pour cette branche et l'attention qu'elle reçoit? Être "derrière" est-il un mauvais signe pour une succursale?
Ahead est le nombre de validations sur cette branche qui n'existent pas sur la branche de base. Derrière se trouve le nombre de validations sur la branche de base qui n'existent pas sur cette branche.
Devant et derrière sont presque comme une sorte de métrique "d'âge". Le chiffre suivant vous indique approximativement l'impact de la branche sur la branche de base en cas de fusion. Le chiffre derrière vous indique combien de travail s'est produit sur la branche de base depuis le démarrage de cette branche.
Je trouve le chiffre derrière vraiment utile pour juger si une branche est susceptible de fusionner proprement. Lorsque beaucoup de travail s'est produit sur la branche de base, il est plus probable que les deux branches ont modifié la ou les mêmes lignes. Lorsque l'arrière est grand, c'est un signe que vous devriez probablement fusionner la branche de base dans cette branche pour synchroniser. Une fois que vous avez fusionné la branche de base dans cette branche, derrière sera 0.
Si vous êtes plutôt de type visuel, jetez un œil ici:
◈ - ◈ - A - ◈ - B
\
◈ - C
A vaut 2 commet derrière et 0 commet devant B
B est 0 s'engage derrière et 2 s'engage devant A
C est 1 commit en retard et 2 commits en avance sur A
C est 3 engage derrière et 2 engage devant B
Donc "derrière" signifie que l'autre branche a validé celle-ci ne le fait pas, et "en avant" signifie que cette branche a validé l'autre non.
Les métriques comme celles que vous pouvez voir pour ce projet décrivent, comparent à une branche du repo (comme master
) :
Le détail technique est illustré par le script "déterminant quels repos sont devant/derrière Origin" :
Il s'agit de vérifier:
git rev-list "$localref..$anotherref"
git rev-list "$anotherref..$localref"
Une chose à noter est que le "derrière" de github compte également les validations de fusion. Vous pouvez vérifier le "derrière" avec: git log mybranch1 ^ mybranch2 et il devrait vous montrer le même nombre de commits. Si vous avez des validations de fusion, vous pouvez les exclure avec --no-merges dans la dernière commande.