Ich habe mehrere Projekte auf Git, in die ich irgendwann andere einbringen möchte. Im Moment bin ich es jedoch und ich benutze Git und GitHub sehr einfach: keine Verzweigungen und im Grunde genommen nur die Commits als Backup für meine lokalen Dateien. Manchmal gehe ich zurück und schaue mir frühere Versionen meiner Dateien als Referenz an, aber ich musste bis zu diesem Punkt keine Rollbacks durchführen, obwohl ich die Option zu schätzen weiß, falls ich sie in Zukunft benötige.
Welche Git- oder GitHub-Funktionen kann ich als einziger Entwickler jetzt nutzen? Wie soll mein Workflow sein?
Gibt es auch bestimmte Vorgehensweisen, mit denen ich beginnen muss, um in Zukunft weitere zu meinen Projekten hinzuzufügen?
git
github
solo-development
VirtuosiMedia
quelle
quelle
Antworten:
Na sicher. Es gibt eine einfache bewährte Methode, die Sie auch dann anwenden können, wenn Sie gerade kein Team haben: Erstellen Sie einen separaten Zweig für die Entwicklung. Die Idee ist, dass der Hauptzweig nur freigegebene Codeversionen oder größere Änderungen enthält. Dies kann problemlos von neuen Entwicklern übernommen werden, die sich Ihrem Projekt anschließen.
Außerdem ist das Verzweigen nützlich, auch wenn Sie alleine arbeiten. Beispielsweise finden Sie einen Fehler beim Codieren einer neuen Funktion. Wenn Sie keine Verzweigungen verwenden, müssen Sie beides tun: Neue Funktionen hinzufügen und den Fehler in derselben Verzweigung beheben. Das ist nicht gut: P Wenn Sie dagegen einen neuen Zweig zum Erstellen Ihres neuen Features erstellt haben, können Sie einfach den Entwicklungszweig auschecken, den Fehler beheben und den neuen Feature-Zweig wieder auschecken.
Dies ist nur ein kurzes Beispiel dafür, was Sie als alleiniger Programmierer tun können. Ich bin sicher, dass es mehr gute Praktiken geben muss.
Ich kann Ihnen diesen Artikel nur empfehlen: Ein erfolgreiches Git-Verzweigungsmodell
quelle
Ich bin genau in dieser Situation, aber ich habe mich für einen etwas komplexeren, aber nicht unbedingt komplizierteren Workflow mit Git entschieden.
Das Ziel war zuerst, den Git-Weg zu lernen, also habe ich einiges erforscht. kehrte dann so ziemlich zum beschriebenen Workflow zurück.
Nach einer Weile wurde es schwierig, damit umzugehen, da einige Situationen auftraten, und es gab mir schlechte Gewohnheiten, die schwer zu brechen waren, wenn ich mich einem Team anschloss.
so entschied ich mich für folgendes:
Ich richte auch ein Git-Hub-Konto ein, mit dem ich den Trunk synchronisiere. Dadurch konnte ich problemlos an verschiedenen Computern arbeiten. Es war notwendig, erlaubte mir aber, Fehler zu finden, die mit der Umgebung zu tun hatten, in der ich mich befand und die auf den anderen Computern nicht verfügbar war. Jetzt mache ich es mir zur Gewohnheit, mindestens einmal ein Projekt auf einem anderen "jungfräulichen" System auszuprobieren. Das erspart mir viel Kopfzerbrechen bei der Bereitstellung beim Kunden.
Die vielen Zweige schienen zunächst übertrieben, aber es half WIRKLICH viel. Ich konnte eine Idee in einem Zweig anfangen, eine Weile daran arbeiten, und als ich anfing, Kreise zu drehen, gab ich auf und startete einen anderen Zweig, um an etwas anderem zu arbeiten. Später kam mir eine Idee, wo ich zu dem halbgebackenen Zweig zurückkehren und diese Idee erforschen würde. Dies alles hat mich VIEL produktiver gemacht, da ich sehr schnell mit Blitzen und Ideen umgehen und sehen konnte, ob es funktioniert. Die Kosten für das Wechseln von Zweigen mit GIT sind extrem niedrig, wodurch ich mit meiner Codebasis sehr flink bin. Das heißt, ich muss immer noch das Rebase-Konzept beherrschen, um meine Geschichte zu bereinigen, aber da ich ganz alleine bin, bezweifle ich, dass ich es wirklich brauche. Schob es als "schön zu lernen".
Als alle Verzweigungen kompliziert wurden, untersuchte ich die Protokolloption, um einen Änderungsbaum zu zeichnen und zu sehen, welche Verzweigungen wo sind.
Kurz gesagt, Git ist nicht wie SVN, CVS oder (brrr) TFS. Das Verzweigen ist sehr billig und es ist ziemlich schwierig, Fehler zu machen, die die Arbeit zunichte machen. Nur einmal habe ich etwas Arbeit verloren, weil ich meine Commits zu groß gemacht habe (siehe schlechte Gewohnheiten oben). Wenn Sie sich häufig verpflichten, wird git durch kleine Brocken definitiv Ihr bester Verbündeter sein.
Für mich öffnete git meinen Geist für das, worum es bei der Quellcodeverwaltung wirklich geht. Alles andere zuvor war nur der Versuch, es zu bekommen, git ist der erste, der es in meinem Kopf bekam. Das heißt, ich habe kein anderes DVCS ausprobiert, möglicherweise könnte diese Aussage auf die ganze Familie ausgeweitet werden.
Ein letzter Rat, die Kommandozeile ist dein Freund. Um nicht zu sagen, dass grafische Werkzeuge nicht gut sind, ganz im Gegenteil, aber ich habe mich sehr geärgert, als ich auf die Kommandozeile gesunken bin und es selbst ausprobiert habe. Es ist eigentlich sehr gut gemacht, leicht zu folgen mit einem sehr umfassenden Hilfesystem. Mein größtes Problem war es, an die hässliche Konsole in Windows gebunden zu werden, bis ich Alternativen fand.
Jetzt verwende ich beides, die Eclipse-Integration mit Git, um zu sehen, was in Echtzeit vor sich geht, und um einige Vorgänge wie Unterschiede auszuführen, den Verlauf einer Datei zu untersuchen usw. Und die Befehlszeile zum Verzweigen, Zusammenführen, Verschieben, Abrufen und die komplexeren Protokollbäume . Einige grundlegende Skripte und ich war noch nie so produktiv in Bezug auf die Quellcodeverwaltung und ich hatte noch nie so viel Kontrolle über meine Quellcodeverwaltung.
Viel Glück, hoffte das half.
quelle
Ich bin mit mehreren hoch entwickelten Verzweigungsmodellen vertraut und verwende einige bei der Arbeit. Wenn ich jedoch alleine an Projekten arbeite, mache ich ziemlich genau das, was Sie gerade tun. Ich kann nachträglich immer einen Zweig erstellen, wenn ich einen brauche, aber das tue ich so gut wie nie. Wenn ich alleine arbeite, habe ich selten Fehlerbehebungen, die ich nicht abwarten kann, bis meine aktuelle Aufgabe erledigt ist. Mein Rat ist, mit einigen Verzweigungsmodellen vertraut zu sein, aber es macht keinen Sinn, Dinge zu komplizieren, bis Sie es brauchen.
quelle
Für ein einfacheres Modell können Sie sich ansehen, was GitHub macht. "GitHub Flow" ist sehr einfach und es gibt hier eine ausgezeichnete Anleitung: https://guides.github.com/introduction/flow/index.html
Zusammenfassung (aus Scott Chacons Blog ):
quelle