104 votes

Comment pousser automatiquement après s'être engagé dans git?

Comment configurer git pour qu'il envoie automatiquement vers un référentiel distant (y compris en fournissant automatiquement ma phrase secrète) après chaque validation sur le référentiel local?

166voto

Mark Longair Points 93104

Tout d'abord, assurez-vous que vous pouvez pousser manuellement, sans fournir votre mot de passe. Si vous appuyez sur HTTP ou HTTPS, qui sera un cas de création d'un .netrc le fichier avec les informations de connexion , ou l'ajout de votre nom d'utilisateur et mot de passe dans l'URL de la télécommande. Si vous utilisez SSH, vous pouvez soit créer une paire de clés où la clé privée n'ont pas de mot de passe, ou utiliser ssh-agent pour le cache de votre clé privée.

Ensuite, vous devez créer un fichier dans .git/hooks/post-commit qui contient les éléments suivants:

#!/bin/sh
git push origin master

... la personnalisation de cette ligne si vous voulez pousser à une distance autre que origin, ou pousser une branche autre que master. Assurez-vous que le fichier exécutable.

14voto

Colin R Points 8875

Créez un fichier nommé "post-commit" dans le répertoire .git / hooks avec le contenu "git push", mais si vous souhaitez fournir automatiquement un mot de passe, une modification sera nécessaire.

3voto

VonC Points 414372

Ce script git-autopush vous permet de configurer un hook post-commit, similaire à ce qui a été recommandé dans " Comment configurer le transfert automatique? ".
Mais pour la phrase secrète, vous devez exécuter un ssh-agent .

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