2016-06-01 5 views
1

Ich möchte beginnen, Git in meinen Projekten zu verwenden. Ich entwickle derzeit auf einem Remote-Server den Client überprüft dann die Website, wenn alles in Ordnung ist, dann kopieren wir alle Dateien und DB auf unseren Live-Remote-Server.Zwei Entwicklungsstufen mit Git

Mein Verständnis von Git ist, dass wir lokal entwickeln können, dann die Änderungen an den Staging-Bereich übergeben und sie dann auf die Live-Site übertragen.

Ist eine Entwicklungsvorschau für den Client verfügbar?

Also würden wir lokal entwickeln dann die Änderungen an die Staging übergeben dann Commit sie zu einem Entwicklungsraum für den Client zu sehen, sobald wir Genehmigung bekommen einige, wie sie an den Live-Server senden? Ist das der Weg, sich ihm zu nähern?

Antwort

1

Ich kann mit Ihnen meine Erfahrung teilen: In meiner Firma haben wir normalerweise zwei Hauptzweige (Test und Master), und wenige kleinere Entwicklungszweige.

Normalerweise arbeitet jeder Entwickler lokal an seinem Entwicklungszweig, aber von Zeit zu Zeit, wenn der Entwickler einige Fortschritte macht, treibt er die ganze Arbeit (seinen Entwicklungszweig) in das Remote-Repository.

Wie Sie sich vorstellen können, wird Test Branch hauptsächlich für Testumgebung und Master für Produktionsumgebung verwendet. Wenn Sie mit der Behebung eines Produktionsfehlers beginnen, sollten Sie normalerweise den Master auschecken, den Fehler beheben, auf den Remote-Repo-Modus wechseln und ihn in der Produktion freigeben. Dann müssen Sie den Master in den Testzweig und in alle offenen Entwicklungszweige zurückführen.

In Test-Zweig ist, wo wir einen Entwicklungszweig zur Zeit zusammenführen, dann beginnen wir, den Code in der Umgebung zu testen, und wenn alles in Ordnung ist (dh Test bestanden und Tester Daumen hoch sind), führen wir Test-Zweig in den Master und alles in der Produktion freigeben.

Wie Sie verstehen, ist unser Team klein und es ist ziemlich einfach. Sehr wichtige Regel ist: Sie können Commit (oder Merge) in den Master nur dann, wenn Sie absolut sicher sind, in der Produktion zu veröffentlichen.

Hoffe, das hilft.

0

Sie würden normalerweise bestätigen, dann drücken Sie auf Staging, wo Sie testen, dann drücken Sie auf Produktion. Das Hinzufügen eines zweiten öffentlichen Staging-Servers ist einfach, wenn Sie Ihre normale Staging-Umgebung privat halten möchten.

Git erzwingt oder erfordert keine davon; es ist nur Versionskontrolle. Aber was Sie beschreiben, ist einfach zu machen.

0

Wenn ich Sie richtig verstanden habe, was Sie wirklich brauchen, ist ein Zweig für die Entwicklungsvorschau und ein weiterer für die genehmigte Version des Projekts. (Dieser allgemeine Ansatz wird hier beschrieben: git-scm.com/book/en/v2/Git-Branching-Branching-Workflows) Wenn Sie unter Client jemanden verstehen, der keinen lokalen Zugriff auf das Git-Repository hat, aber Zugriff auf den Remote-Server hat, müssen Sie Ihre commited Arbeit an Remote senden er kann die Veränderungen sehen. Mit git-Zweigen müssen Sie sich keine Sorgen über die funktionierende Version des Projekts machen. Sie haben beide "anwesend" und Sie können Entwicklungszweig in Stall zusammenführen, wann immer Sie wollen.