Ist es eine gute Praxis, für jeden Entwickler eine Remote-Niederlassung zu haben?


11

Wird es als gute Praxis angesehen, für jeden einzelnen Entwickler im Projekt eine Remote-Niederlassung zu haben?

Wir verwenden Git mit den folgenden Zweigen:

  • Meister
  • Freisetzung
  • entwickeln

Wenn jeder Entwickler einen eigenen Zweig hätte, könnte er Code in seine Zweige übertragen, und andere könnten diese Änderungen in ihren eigenen Zweigen zusammenführen.


1
Erinnert mich an Accurev-Arbeitsbereiche, außer dass sie nicht an die MAC-Adresse eines bestimmten Computers gebunden sind. Ich mag das.
Brandon

mögliches Duplikat von Verzweigen oder nicht verzweigen?
Mücke

1
Warum gibt es für jedes neue Feature, das hinzugefügt wird, keinen eindeutigen Zweig?
Martin York

@Loki Ja .. es ist eine gute Idee ..
Balanv

Antworten:


4

Nein! Es wird empfohlen, für jeden Entwickler einen Remote-Zweig- Namespace zu haben.

Ein einzelner Zweig reicht oft nicht aus, sodass der Entwickler ihn entweder häufig zurückspult oder nicht sehr hilfreich ist. Sie möchten eher sagen, dass ein Entwickler unter seinem Namen alles pushen kann, was er will /. Sie können es verwenden, um Vorschauversionen für andere zu veröffentlichen und eine Version für andere zu testen oder sogar für andere zu integrieren.

Sie können dies auch verwenden, um dem Integrator Verzweigungen zu geben, oder Sie können aufgabenbasierte Namen verwenden. Die aufgabenbasierten Namen sind für den Integrator normalerweise einfacher zu verfolgen, lassen Entwickler jedoch mehr über die Benennung nachdenken, und die Leute denken nicht gern. Ich weiß nicht, was in der Praxis besser funktionieren wird. kann sogar von der jeweiligen Mannschaft abhängen.


2

Ich würde wahrscheinlich nicht jedem Entwickler einen Zweig auf dem zentralen Server geben, wenn Sie nicht über eine Infrastruktur im Github-Stil verfügen, mit der er die Zweige selbst erstellen und zerstören und klar dokumentieren kann, wofür sie bestimmt sind. Einige Entwickler benötigen mehr als einen Zweig, andere überhaupt keinen, aber Sie schaffen Unordnung, die jeder sortieren kann, und Verwaltungsaufwand für sich.

Ich würde stattdessen die Art von Bio-Sharing-Git fördern, die sich auszeichnet. Es ist sehr einfach, einen nackten Klon auf Ihrem eigenen Computer zu erstellen und diesen Ordner zu einer schreibgeschützten SMB-Freigabe zu machen, aus der andere Benutzer ihn abrufen können. Tatsächlich würde es mich sehr überraschen, wenn einige Ihrer Entwickler dies nicht bereits tun.


1
Standardmäßig kann jeder jederzeit einen Zweig erstellen. Github erlaubt das Erstellen ganzer Repositorys, aber das ist in diesem Fall übertrieben.
Jan Hudec

1

Dies hängt davon ab, wie Ihr Entwicklungsteam und Ihre Aufgaben organisiert sind. Meiner Meinung nach würde das von Ihnen angegebene Modell am besten funktionieren, wenn:

  1. Jeder Entwickler arbeitet an unabhängigen Aufgaben für sich.
  2. Alle Entwickler tragen zur gleichen Aufgabe bei.

Dies funktioniert möglicherweise nicht gut, wenn Sie gleichzeitig Feature-Projekte in der Entwicklung haben und an denen jeweils mehrere Entwickler arbeiten.


1

Es kann hilfreich sein, jedem Entwickler einen eigenen Zweig zu geben, wenn alle an verschiedenen Dingen arbeiten, die möglicherweise dieselben Dateien berühren. Es kann helfen, zu verhindern, dass man sich gegenseitig auf die Zehen tritt, aber es erfordert, dass jeder häufig zusammengeführt wird und bei der Bewältigung von Konflikten verantwortlich ist. Dies geschieht in meinem Büro und funktioniert ziemlich gut, abgesehen von dem seltenen Tag, an dem Sie die Hälfte der von Ihnen bearbeiteten Dateien manuell zusammenführen müssen.

Wenn mehrere Entwickler an derselben Funktion arbeiten, ist es wahrscheinlich besser, Zweige basierend auf der in der Entwicklung befindlichen Funktion als auf der Grundlage des Entwicklers zu erstellen.


1

Wenn Sie mit Git arbeiten, sollten Sie Pull Requests ausprobieren.

Zusammenfassend führen Sie zunächst den Hauptzweig in Ihren aktuellen Arbeitszweig ein. Alle Zusammenführungskonflikte finden in Ihrer lokalen Niederlassung statt. Das ist schön, weil Ihr Hauptzweig nie kaputt ist. Wenn Sie es wirklich vermasseln, haben Sie ein lokales Commit, auf das Sie zurückgreifen können.

Sobald Sie die Zusammenführung abgeschlossen haben, bitten Sie eine andere Person im Team, Ihre Niederlassung zu überprüfen und in die Hauptniederlassung zusammenzuführen. Verschmelze niemals deine eigenen! Solange sich niemand eingeschlichen hat und eine weitere Pull-Anfrage ausgeführt hat, wird garantiert, dass Sie erfolgreich zusammengeführt werden. Da jeder die Pull-Anforderung kennt, sollten ohnehin nicht mehrere Personen gleichzeitig zum Master verschmelzen.

Sobald Sie sich an diesen Prozess gewöhnt haben, sollten Sie versuchen, so oft wie möglich zusammenzuführen - eine Art kontinuierliche Integration eines armen Mannes. Je weniger Zeit zwischen Konflikten, desto besser. Sie werden feststellen, wann zwei Personen ihre Arbeit duplizieren und sich zusammenschließen können. Einige Orte werden jedes Mal zusammengeführt, wenn sie eine Anforderung erfüllen. Dies kann alle paar Stunden sein. Ich empfehle, mindestens einmal pro Woche zu fusionieren. Andernfalls müssen Sie Ihre Aufgaben besser aufteilen.

Normalerweise erstelle ich einen Zweig pro Aufgabe. Git ist nett, weil es zwischen lokalen Commits und Pushs unterscheidet. Dies bietet einen Teil des Vorteils, dass jede Person ihre eigene Niederlassung ohne all die Komplexität hat.

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.