Mit Git richtig in einem kleinen Team

14

Was wäre der einfachste Weg, um git in einem kleinen Team von ungefähr 5 Entwicklern korrekt zu verwenden, wobei ein Server die Live-Anwendung ausführt?

ONOZ
quelle
5
Ich würde in diesem Fall die Verwendung von Git in Frage stellen. Die Verwendung der dezentralen Quellcodeverwaltung bietet keinen Vorteil, wenn sich alle Personen in einem Raum mit einem dedizierten Server befinden. Und es gibt immer noch Overhead beim Ziehen / Drücken über Commits.
Euphoric
10
@Euphoric hängt von Ihren Werkzeugen und Ihrem Arbeitsablauf ab.
3
@ONOZ Bitte beschreiben Sie Ihre derzeitige Arbeitsweise genauer.
22
@Euphoric - Was für eine unglaublich engstirnige Einstellung. Für die Erleichterung des Verzweigens und Zusammenführens allein gitoder hgbesser als die meisten zentralisierten VCSs. Ich kann verstehen, dass Leute sich darüber ärgern, wie großartig DVCS sind, aber es ist genauso schlimm, wenn man den Kopf in den Sand steckt und sich weigert, anzuerkennen, dass man mit DVCS andere und möglicherweise effizientere Workflows entwickeln kann als ohne DVCS.
Mark Booth
8
@Euphorisch, Git bedeutet nicht, dass Ihre Quellcodeverwaltung "dezentralisiert" ist. Ich arbeite in einem kleinen Team und wir verwenden Git und wir haben immer noch ein zentrales Repository. Darauf drängen Sie. Die Verwendung eines DVCS bedeutet normalerweise nicht, dass jede Person von jeder anderen Person ohne zentralen Punkt zieht.
Kyralessa

Antworten:

11

Ich schlage vor, einen Zweig anzulegen:

  • Produktion
  • Meister
  • lokal

Produktionszweig ist "lebender" Zweig. Wird die Anwendung gerade verwendet?

Wenn ein Update erforderlich ist, kann ein Entwickler den Hauptzweig in den lokalen Zweig ziehen. Dann kann ich anfangen zu codieren. Am Ende ziehen und schieben Sie einfach vom lokalen Zweig des Entwicklers zum Master. Ein Projektmanager kann einen Blick in die Hauptniederlassung werfen. Probier es aus. Und wenn Sie fertig sind, können Sie die Produktion mit dem Master zusammenführen. Und jetzt haben Sie neue Software.

sensorario
quelle
Wenn Sie sich in einer Beratungs- oder Unternehmenssituation befinden, möchten Sie möglicherweise auch eine Niederlassung für UAT.
John MacIntyre
Stimmen Sie zu, ich benutze diesen Workflow.
Cheung
Könnten Sie erläutern, warum der Unterschied zwischen einer lokalen und einer Hauptniederlassung besteht? Ich kann sehen, warum Sie eine funktionierende Produktionsversion haben möchten, aber wenn Sie Änderungen ziehen / verschieben, wird diese automatisch zusammengeführt, auch ohne eine lokale Niederlassung, oder?
Luc
1
Da die lokale Verzweigung als XXX-Feature-Name benannt werden kann, haben Sie die Master-Verzweigung als Zusammenführung aller in der Produktion gewünschten Feature-Verzweigungen. Ja, da einige Funktionen möglicherweise nicht enthalten sind.
Sensorario
7

Beginnen Sie einfach und bauen Sie nach Bedarf einen komplexeren Workflow auf.

Was auch immer Sie tun, lassen Sie es nicht zu, dass ein erfolgreiches Git-Verzweigungsmodell das erste ist, was die Leute sehen. Es wird sie nur verwirren und überwältigen. Sehen Sie sich das später an, wenn Sie mehr Erfahrung haben.

Ich würde vorschlagen, dass Sie mit einem zentralen gitRepository beginnen und alle, einschließlich Ihrer Produktions- und Test-Builds, von diesem klonen lassen.

Erstellen Sie in Ihrem Git-Repository einen productionZweig und einen testZweig.

Entwickler sollten in ihren eigenen lokalen oder Remote-Zweigstellen arbeiten, bis sie fertiggestellt und zusammengeführt sind master. Von hier aus können sie testzur Bereitstellung in der Testumgebung in der Verzweigung zusammengeführt werden, und wenn sie die Tests bestehen, können sie in der productionVerzweigung zusammengeführt werden.

Auf diese Weise können Sie immer sehen, was neu und ungetestet ist, was getestet, aber noch nicht in der Produktion eingesetzt wurde und was sich tatsächlich in der Produktion befindet.

Mark Booth
quelle
Interessante Meinung, ich würde das Git-Verzweigungsmodell als Deal Breaker für Git betrachten, auf der anderen Seite dürfte es für Nicht-Git-Nutzer nicht so offensichtlich sein.
Wirrbel
@wirrbel Es gibt keine solche Dinge wie die git Verzweigung Modell können Sie implementieren was Verzweigung Modell Sie wünschen mit gitIhren Workflow passen. Das hier vorgeschlagene ist einfach und ist wahrscheinlich besser für unerfahrene gitBenutzer als ein erfolgreiches Git-Verzweigungsmodell, aber AsGbm ist wahrscheinlich besser für erfahrene gitBenutzer, ist aber für einige Teams nicht so geeignet (Leute, die mehrere Releases verwalten möchten) Zweige zum Beispiel). Wie gesagt, das Problem mit AsGbm ist, dass es zu kompliziert aussehen kann.
Mark Booth
Ich verstehe dein Argument. Nur für mich habe ich mit AsGbm angefangen (oder besser gesagt an meine Bedürfnisse angepasst). Es war perfekt, da ich sehen konnte, wie git anders als svn
wirrbel 30.07.13
7

Wir haben eine ähnliche Situation - außer wir haben Dutzende von Web-Apps, nicht eine. Wir haben ein erfolgreiches Git-Verzweigungsmodell seit etwa einem Jahr ohne nennenswerte Beschwerden erfolgreich eingesetzt.

Wyatt Barnett
quelle
In den letzten Jahren habe ich damit auch Verzweigungsmodelle erstellt. Es ist ein fantastisches Modell.
John MacIntyre
Daumen hoch für den Link
Rahul Gautam
0

Sie müssen ein Master-Repository auf dem Integrationsserver haben und jeder Entwickler muss es klonen. Danach einfach ziehen und drücken. Entwickeln Sie neue Funktionen in einem separaten Zweig. Keine Raketenwissenschaft hier. Auf dem Live-Server - Sie müssen auch das Master-Repository klonen. Und es ist eine gute Praxis, einen Zweig wie "live" dafür zu haben.

Nikolay Fominyh
quelle
2
git archive ist eine weitere Option für die Bereitstellung auf dem Live-Server, vorausgesetzt, Sie möchten keine Daten direkt auf dem Live-Server bearbeiten
jk.