2017-05-18 5 views
0

Guys ich git verwenden, um Änderungen an den Live-Server bereitzustellen.Git deploy hook löscht keine gelöschten Dateien

Set up ist die bloße Repository außerhalb von html-Ordner mit mit folgenden Haken:

#!/bin/sh 
GIT_WORK_TREE=/var/www/html git checkout -f 

Es aktualisiert geänderte Dateien und neue Dateien erstellt, aber nicht die gelöschten Dateien löschen.

Wie kann ich das lösen?

Antwort

1

Fügen Sie diese am Ende:

GIT_WORK_TREE=/var/www/html git clean -df 

Der git clean Befehl verwendet wird untracked Dateien von einem Arbeitsverzeichnis zu entfernen; -f ist erforderlich, damit es etwas tun kann, und -d wird es auch untracked Verzeichnisse entfernen, anstatt sie leer zu lassen.

+0

Ich füge hinzu, dass dies nicht notwendig ist * wenn * der Index in Ihrem blanken Repository entspricht dem zugewiesenen (über '--git-work-tree' oder' GIT_WORK_TREE') Arbeitsbaum. Wenn der Index in Ihrem blanken Repository einem * anderen * Arbeitsbaum entspricht, besteht die Gefahr, dass die Dateien in einigen (seltenen) Fällen nicht geändert werden. – torek

+0

@torek, könntest du ein bisschen mehr darüber erzählen? Ich bin neu in Git. Wie überprüft man, ob der Index in meinem blanken Repository dem zugewiesenen Arbeitsbaum entspricht? – MployBy

+0

@Amber, löscht alle Dateien im Arbeitsverzeichnis, die nicht in dem lokalen Repository vorhanden sind, aus dem ich schiebe. Oder nur Dateien, die im lokalen Repository gelöscht wurden und in den Commits als gelöscht erwähnt werden? Ich suche den 2. zu erreichen. Ursache einige Ordner sind nicht in remote Repo von Entwurf vorhanden. – MployBy

Verwandte Themen