ausführen von git-Befehl innerhalb bash-Skript
Schreibe ich gitosis
post-push-Haken für zentrales repository
zieht die updates von der zentrale repository testing enviroment
nano /var/git/repositories/holding.git/hooks/post-update
#!/bin/bash
cd /var/vh/holding;
git reset --hard;
git checkout testing;
git pull;
hier, was ich nach dem push auf meinem client (Entwicklungs-VM)
# 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
Offensichtlich mein Versuch, zu sagen, git, wo Sie es tun sollten, ziehen, scheiterte.
Was ist die richtige Art und Weise zu führen git-Befehl für einen bestimmten Arbeitskopie im bash-Skript?
Es ist möglich, vielleicht sogar dokumentiert (überprüfen müssen Mann Seite), dass GIT_DIR auf '.' bei der Verarbeitung Ihrer hook-Funktion....
InformationsquelleAutor jonny | 2011-05-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie bereits erwähnt hier oder es, Sie könnte vor allen git-Befehle mit:
um sicherzustellen, gibt es keine Nebenwirkung, zum Beispiel, eine
GIT_DIR
environment-variable, die zuvor eingerichtet werden.(
env -i
oder einfach:unset GIT_DIR
)InformationsquelleAutor VonC
Ist
/var/vh/holding
einem git-repository? also haben Siegit init
auf Sie, richten Sie Ihre Fernbedienungen, setzen Sie ihn auf Ihre Spur halten.git-Verzeichnis, etc.? Auch, wenn Sie nicht ziehen aus dem gleichen repo-Sie sind drücken auf, müssen Sie nicht diereset
undcheckout
.InformationsquelleAutor Karl Bielefeldt