59 votes

Git ne montre pas combien de commits en avance sur l'origine je suis, et je veux qu'il le fasse.

Il y a beaucoup de questions ici sur Git qui dit que les gens ont une avance de X commits sur une branche distante, et ils veulent que cela cesse.

J'ai le problème inverse. Je veux que Git me dise combien de commits j'ai en avance, mais il ne le fait pas.

Lorsque j'ai d'abord créé mon référentiel nu distant, puis cloné à partir de celui-ci, cela a fonctionné. Dans mon cas actuel, j'ai d'abord créé le référentiel local, puis je l'ai cloné (nu) sur le référentiel distant.

Cela configure mon dépôt local comme le dépôt distant pour le dépôt nu. Mais je l'ai supprimé, et j'ai ajouté manuellement la référence du dépôt distant à mon dépôt local. Le push fonctionne bien. Mais je ne vois pas le message "Vous êtes en avance de X commits". Comment puis-je l'obtenir ?

1 votes

+1 grande question (j'adore le titre) ... J'en ai besoin aussi

78voto

Bombe Points 34185

git branch --set-upstream _local_ origin/_remote_

local y à distance sont les noms de vos branches locales resp. distantes.

Dans la version 1.8 de Git et les suivantes, c'est encore plus facile. Assurez-vous que vous êtes sur la branche locale, et ensuite :

git branch --set-upstream-to origin/_remote_

2 votes

Tu devras courir git fetch origin pour obtenir les dernières informations.

1 votes

git fetch (sans argument) permet par défaut de récupérer les données depuis l'origine.

13 votes

Lorsque vous récupérez une branche à distance, faites 'git checkout -t origin/branch-name'. lorsque vous poussez une branche locale pour la première fois, faites 'git push -u origin branch-name'. Le suivi sera mis en place.

8voto

Kyralessa Points 76456

J'ai découvert qu'il existe un moyen de faire de ce comportement la valeur par défaut :

git config --global branch.autosetupmerge always

Malgré le nom, ce n'est pas force vous devez toujours fusionner les branches ; vous pouvez toujours rebaser si vous le souhaitez.

Il sera fait en sorte qu'à chaque fois que vous créez une nouvelle branche, vous serez automatiquement en mesure de voir combien de commits diffèrent de la branche à partir de laquelle elle a été créée.

1 votes

Note : Dans les versions actuelles de git, cette option est par défaut à true de toute façon (voir man git-config). Vous n'avez donc besoin de la définir que si vous l'avez modifiée auparavant (ou éventuellement dans les anciennes versions de git).

2 votes

@sleske bien que ce soit correct, il y a une distinction subtile entre true y always . always montre également l'avance/le retard pour les branches locales, et pas seulement pour les branches distantes. Je trouve utile de le mettre à always .

0 votes

NickDesaulniers : C'est vrai, c'est quelque chose que j'ai négligé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X