9
votes

Exécuter la commande git dans le script Bash

J'écris gitose code> Crochet post-poussoir pour le référentiel central

qui tire les mises à jour du référentiel central pour tester Enviroment P>

nano / var / gitories /holding.git/hooks/post-updatedpre> xxxxp>Père ce que je reçois après avoir appuyé sur mon client (Development VM) P>

# blah ...
Counting objects: 57, done.
Compressing objects: 100% (24/24), done.
Writing objects: 100% (30/30), 3.42 KiB, done.
Total 30 (delta 18), reused 0 (delta 0)
fatal: Not a git repository: '.'
fatal: Not a git repository: '.'
fatal: Not a git repository: '.'
fatal: Not a git repository: '.'
To git@cheby.ru:holding.git
   233b5a2..0f46cd8  testing -> testing


1 commentaires

C'est possible, peut-être même documenté (besoin de vérifier la page de l'homme) que git_dir est défini sur "". Pendant le traitement de votre fonction de crochet ....


3 Réponses :


5
votes

Comme mentionné ici ou Il , vous pourrait précéder toutes vos commandes git avec:

 env -i


0 commentaires

0
votes

est / var / vh / tenant un référentiel git? I.E. Avez-vous exécuté git init sur celui-ci, configurez vos télécommandes, définissez-la pour suivre votre répertoire Holding.Git, etc.? En outre, si vous ne tirez pas du même repo, vous appuyez sur, vous ne devez pas avoir besoin du réinitialiser et caisse . .


0 commentaires

0
votes

Pour moi, précédent avec env -i ne fonctionne pas. Je reçois toujours cette erreur:

*** S'il vous plaît dites-moi qui vous êtes.

Bien que j'ai défini la configuration globale. C'est ce qui fonctionne pour moi en spécifiant - git-dir paramètre: xxx

i exécute le script dans le répertoire de travail, d'où j'utilise $ PWD pour obtenir le répertoire de travail actuel. Vous pouvez ajuster si nécessaire.


0 commentaires