Ich verwende Git normalerweise zum Bereitstellen von Produktionscode auf dem Webserver. Dies bedeutet normalerweise, dass irgendwo ein Master-Git-Repository an einem Ort gehostet wird, auf den über ssh
zugegriffen werden kann, und der Produktionsserver dieses geklonte Repository bedient, während der Zugriff auf .git /
und eingeschränkt wird .gitignore
. Wenn ich es aktualisieren muss, ziehe ich einfach vom Master-Repository zum Repository des Servers. Dies hat mehrere Vorteile:
- Wenn jemals etwas schief geht, ist es extrem einfach, auf eine frühere Version zurückzugreifen - so einfach wie das Auschecken.
- Wenn eine der Quellen vorhanden ist Codedateien werden geändert und so einfach wie der
git-Status
überprüft. Wenn das Repository des Servers geändert wurde, wird dies beim nächsten Versuch offensichtlich. - bedeutet, dass es eine weitere Kopie des Quellcodes gibt, falls schlechte Dinge passieren.
- Das Aktualisieren und Zurücksetzen ist einfach und sehr schnell. ol>
Dies kann einige haben Probleme jedoch:
-
Wenn der Webserver aus irgendeinem Grund entscheidet, dass er das Verzeichnis
.git /
bereitstellen soll, ist und wird der gesamte Quellcode für alle lesbar . Historisch gesehen gab es einige (große) Unternehmen, die diesen Fehler gemacht haben. Ich verwende die Datei.htaccess
, um den Zugriff einzuschränken. Daher glaube ich, dass im Moment keine Gefahr besteht. Vielleicht ist ein Integrationstest, der sicherstellt, dass niemand den Ordner.git /
lesen kann, in Ordnung? -
Jeder, der versehentlich Lesezugriff auf den Ordner erhält, erhält auch Zugriff auf jede frühere Version des Quellcodes, die früher vorhanden war. Aber es sollte nicht viel schlimmer sein, als Zugang zur vorliegenden Version zu haben. Schließlich sind diese Überarbeitungen per Definition veraltet.
Trotzdem glaube ich, dass die Verwendung von Git für die Bereitstellung von Code für die Produktion einigermaßen sicher und viel einfacher als ftp
oder einfach kopieren. Was denkst du?