So übertragen Sie Änderungen von einem Live-Bereitstellungs-Webserver zurück in das Git-Repository

So übertragen Sie Änderungen von einem Live-Bereitstellungs-Webserver zurück in das Git-Repository

Ich arbeite in einer Umgebung, in der die Entwickler direkt mit Skript- und Bilddateien auf dem Live-Bereitstellungs-Webserver arbeiten. Das ist beängstigend und hat einige, wenn auch bisher überraschend wenige, Probleme verursacht. Für diese Änderungen wird die Quellcodeverwaltung überhaupt nicht verwendet, die Änderungen werden auf dem Live-Server und nur auf dem Live-Server vorgenommen. Ich weiß nicht, wie ich es so einrichten kann, dass Änderungen, die andere Entwickler auf dem Live-Webserver vorgenommen haben, beibehalten/zusammengeführt werden, wenn ich meine Änderungen auf dem Live-Webserver bereitstelle. Dieses Problem scheint die Situation durch die Verwendung der Quellcodeverwaltung eher zu verschlimmern als zu verbessern.

Ich habe persönlich Git- und SVN-Server eingerichtet und in den letzten Jahren bei vielen Desktop-App- und Mobile-App-Projekten die Versionskontrolle mit Git und SVN verwendet. Aber das bringt mich nicht weiter.

Antwort1

Die beste Vorgehensweise besteht darin, Git als Teil Ihrer Bereitstellung zu verwenden. Dies geht so weit, dass Sie relativ wenige Antworten zu anderen Verwendungsmöglichkeiten von Git finden werden.

Dennoch kann Git auf viele Arten verwendet werden. Wenn Ihre Bereitstellung auf dem Live-Server und nicht von Git aus erfolgt, ist es dennoch sinnvoll, Änderungen an Git zu übermitteln, damit Sie zumindest sehen können, was sich wann geändert hat, und Dinge rückgängig machen können. Was Sie verlieren, sind sinnvolle Kommentare und die Gruppierung von Änderungen in Commits, sodass Sie schnell sehen können, wohin Sie ein Rollback durchführen möchten, und Sie können sehen, welche Änderungen in verschiedenen Dateien wahrscheinlich voneinander abhängig sind.

Es ist durchaus möglich, Ihren Live-Code als Git-Arbeitsverzeichnis zu verwenden und von Zeit zu Zeit automatische Updates des Repository über Cron auszuführen.

usw.Keeper (https://github.com/joeyh/etckeeper) ist in gewisser Weise vergleichbar. Es ist für die Aufzeichnung von Änderungen im /etc-Verzeichnis eines Servers konzipiert, nicht für eine Website, aber ansonsten ist es dem, was Sie sich vorstellen, recht ähnlich. Es enthält wahrscheinlich einige nützliche Ideen in seinen Commit-Hooks und dergleichen, ist aber auch komplizierter, da es mehrere verschiedene VCS-Systeme abdeckt und mit mehreren Betriebssystemen kompatibel ist.

verwandte Informationen