2 Stimmen

Verwendung von Git als Verteilungswerkzeug

Ich versuche, Git als Deployment-Tool zu verwenden. Wenn also ein Push auf den Produktionszweig erfolgt ist, möchte ich den Remote-Server entsprechend aktualisieren. Wenn ich jedoch den zweiten Befehl (den Pull-Befehl) ausführe, kommt eine Fehlermeldung zurück, die besagt Operation must be run in a work tree. Kann mir jemand den richtigen Weg weisen?

Hier ist ein Teil des Bash-Skripts.

echo -e "Thank you for pushing your changes to ${project}. \nHold on while I update the required directories..."
GIT_WORK_TREE=/home/www/${project} git checkout -f
echo "Local directory updated!"

for ref in $@; do
    echo $ref
    if [ "$ref" = "refs/heads/production" ]; then
        # Before we could set the GIT directory strictly from the local environment
        # but the case might not be the same remotely. Need absolute paths.
        ssh git@myserver GIT_DIR=/home/www/${project}/.git GIT_WORK_TREE=/home/www/${project} git checkout -f production
        ssh git@myserver.com GIT_DIR=/home/www/${project}/.git GIT_WORK_TREE=/home/www/${project} git pull -f production
        echo "Production push completed"
    fi
done

EDIT:

Hier ist der eingefügte Fehler:

remote: fatal: /usr/lib/git-core/git-pull cannot be used without a working tree.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X