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?


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.


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.


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


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.


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.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.