Comment puis-je faire git-status vérifier deux télécommands différentes?

Chaque user git est habitué à ceci:

> git status On branch master Your branch is up-to-date with 'origin/master'. nothing to commit, working directory clean 

Cependant, récemment, j'ai commencé à travailler avec deux télécommands au lieu d'une (heroku et github, situation assez standard, je pense), et cela a commencé à m'ennuyer à ne voir qu'une seule origine dans la sortie d' git status .

Comment puis-je append une autre télécommand afin de voir quelque chose comme ça?

 > git status On branch master Your branch is up-to-date with 'origin/master'. Your branch is up-to-date with 'heroku/master'. nothing to commit, working directory clean 

(Cette question n'a rien à voir avec heroku ou github, c'est juste un exemple pratique.)

Solutions Collecting From Web of "Comment puis-je faire git-status vérifier deux télécommands différentes?"

git status est le statut de votre worktree, statut de one-branch-at-a-time.

Si vous voulez voir le statut de toutes les twigs, faites

 git branch -avvv 

git status affiche uniquement le statut relatif de la twig de suivi à distance. Mais il est facile de changer la twig de suivi à distance temporairement:

 git branch -u <remote>/<branch> 

Ensuite, le git status montrera le statut de cette twig.

Notez que les modifications affichées sont les mêmes, mais le nombre de validations avant / arrière pour la twig de suivi à distance actuelle est correctement affiché.

Un script bash pour get l'état de toutes les twigs distantes:

 for o in $(git remote -v | grep fetch | cut -f 1 -); do # remote branch names git branch -u $o/master # set remote tracking branch (git v1.8+ syntax) git status echo -------------------------------- # separator git branch -u origin/master >/dev/null # restore original tracking branch done 

Pour get le statut de vos deux origines en utilisant la command unique git s :

 git config --global alias.s "for o in $(git remote -v | grep fetch | cut -f 1 -); do git branch -u $o/master; git status; echo; git branch -u origin/master >/dev/null; done" 

Cela ajoute un alias à votre file ~ / .gitconfig (que vous pouvez éditer plus tard pour changer la twig distante principale ou la command s ).

Notez que origin / master est codé en dur en tant que twig par défaut. Pour travailler avec n'importe quelle twig, sans coder en dur, le script ci-dessus pourrait être modifié pour get la twig + distante actuelle en premier, puis le restaurer.