2010-07-22 4 views
0

Nous avons un référentiel distant Git (en quelque sorte, notre référentiel "central") sur le serveur de notre site et le site est exécuté à partir de ce référentiel. Le simple fait de pousser vers le dépôt ne met pas à jour le site, nous devons d'abord lancer un petit script sur le serveur.Affichage de nouvelles validations dans le référentiel Git distant

Maintenant je veux afficher un petit avertissement quand il y a de nouveaux commits qui n'ont pas encore été appliqués. Quelle commande Git puis-je utiliser pour savoir s'il existe des validations qui ont été poussées mais pas encore appliquées?

Répondre

1

Vous pouvez stocker le SHA du commit qui est actuellement "en ligne" sur le site, puis le comparer avec le SHA retourné par git rev-parse <name of remote>/master.

(Vous devrez peut-être exécuter un git fetch <name of remote> pour vous assurer que vous avez les dernières infos pour cette distance.)

+0

Merci, je vais essayer. – Franz

1

Plutôt que avertir les utilisateurs sur la vue web du repo ne pas être à jour, pourquoi ne pas garder est-il à jour tout le temps? Le comportement par défaut (lorsqu'il est activé) du hook post-update devrait faire ce que vous voulez.

0

Si le "nouveau commits" pour les sous-modules, je pense que vous pouvez exécuter git submodule sync et git submodule update.

Questions connexes