Derzeit enthält meine Website (Produktionsserver) bereits viel Code. Und jetzt möchte ich Git für meine Projekte verwenden und einen Staging-Server für mein Team einrichten. Kann mir jemand einen Rat geben?
Hier ist das Bild in meinem Kopf:
Production - Production server which already have codes
↑
Staging - New staging server, will install Trac too
↗↙ ↖↘
Developer1 Developer2 - Local development
Meine Frage ist, wie soll ich anfangen?
Hier sind einige Schritte in meinem Kopf:
- Machen Sie einen
git init
In-Production-Server (ist das sicher?) clone
das Repo von der Produktion zum Staging-Server- Entwickler
clone
das Repo von der Inszenierung auf ihren lokalen Computer push
Dateien auf dem Staging-Server nach Abschluss der Änderung- Wenn die Inszenierung fertig ist,
push
alles zur Produktion
Ist dieser Arbeitsablauf sinnvoll oder gibt es einen besseren Weg, dies zu tun?
Was ist, wenn ich nur eine Datei ändern möchte?
Hat origin / master in diesem Prozess etwas damit zu tun? Wer ist der Ursprung? werde ich am Ende mehrere Ursprünge haben?
Wann sollte ein Entwickler branch
in diesem Fall verwenden?
Ihr Vorschlag sieht in Ordnung aus, aber ich würde nicht zulassen, dass die Entwickler direkt auf den Staging-Server pushen. Stattdessen sollte ein Integrator Zweige sorgfältig prüfen und in den Hauptzweig (oder den Entwicklungszweig, wenn Sie das von bUg vorgeschlagene Git-Flow-Modell verwenden) integrieren. * Dieselbe Person würde auf den Staging-Server pushen.
* Integrator : " Eine ziemlich zentrale Person, die als Integrator in einem Gruppenprojekt fungiert, erhält von anderen vorgenommene Änderungen, überprüft und integriert sie und veröffentlicht das Ergebnis, damit andere es verwenden können ... "
1. Führen Sie einen Git-Init im Produktionsserver durch (ist dies sicher?)
Ja, es ist sicher, aber Sie müssen natürlich sehr restriktive Berechtigungen für dieses Repo festlegen. Ich würde wahrscheinlich damit beginnen,
curl
die gesamte Website auf eine lokale CD zu übertragen, wenn ich sie noch nicht habe.2. Klonen Sie das Repo von der Produktion auf den Staging-Server
Sie sollten wahrscheinlich ein "zentrales" Repo haben, das sowohl vom Produktions- als auch vom Staging-Server getrennt ist. Dieser kann nach Bedarf geklont und gepusht werden.
3. Entwickler klonen das Repo von der Bereitstellung auf ihren lokalen Computer
4. Drücken Sie die Dateien nach Abschluss der Änderung auf den Staging-Server
5. Wenn die Inszenierung fertig ist, schieben Sie alles in die Produktion
Ersetzen Sie "Staging" durch "Central" und ich denke, Sie sind in Ordnung, aber ein größeres Problem ist, wie Sie mit Zweigen arbeiten und zusammenführen, wie bUg betont.
quelle
RedirectMatch 404 /\.git
zu Ihrer Produktion .htaccess Ihre schützen .gitignore , .gitattributes und .git Ordner.