Verwenden Sie Git schon seit einiger Zeit, aber nie in einer Teamumgebung? Bist du vertraut mit die Grundlagen von Git aber unsicher, wie große Teams Git bei der Arbeit verwenden?
In diesem Beitrag werde ich über die grundlegenden Git-Techniken sprechen, mit denen Sie vertraut sein müssen, bevor Sie einem Team beitreten. Ich habe sie in einer Reihenfolge aufgelistet, die Sie logischerweise befolgen würden, um zu einem Repository beizutragen, da die Wichtigkeit jedes Schritts von größter Bedeutung ist. Lassen Sie uns jetzt in die Liste springen.
1. Klonen: Erste Schritte in einem Team
Wenn Sie Git für persönliche Projekte verwendet haben, haben Sie ein Projekt möglicherweise nur von Grund auf neu initialisiert und im Laufe der Zeit hinzugefügt. Wenn Sie an einer vorhandenen Codebasis arbeiten, besteht der erste Schritt darin, die Codebasis in Ihr lokales System zu klonen. Auf diese Weise können Sie Ihre Kopie des Repositorys bearbeiten, ohne durch andere Änderungen gestört zu werden.
Führen Sie das aus, um ein Repository zu klonen git clone
Befehl, gefolgt vom Pfad zum Repository:
git clone /path/to/repo
Wenn sich Ihre Quelle nicht im selben System befindet, können Sie SSH auf ein Remote-System übertragen und auch klonen:
git clone username@remote_system_ip:/path/to/repo/on/remote
Wenn Sie aus einer Quelle im Internet klonen, können Sie einfach die URL hinzufügen:
git clone https://github.com/sdaityari/my_git_project.git
Wann immer Sie ein Repository klonen, haben Sie die Wahl mehrerer Protokolle um sich mit der Quelle zu verbinden. Im obigen GitHub-Beispiel habe ich das verwendet https
Protokoll.
2. Remotes in Git verwalten
Sobald Sie Ihr Repository geklont haben, wird weiterhin ein Zeiger auf die Quelle angezeigt. Dieser Zeiger ist ein Beispiel für eine Fernbedienung in Git. Eine Fernbedienung ist ein Zeiger auf eine andere Kopie desselben Repositorys. Wenn Sie ein Repository klonen, einen Zeiger origin
wird automatisch erstellt, die auf die Quelle verweist.
Sie können eine Liste der Fernbedienungen in einem Repository überprüfen, indem Sie den folgenden Befehl ausführen:
git remove -v
Um eine Fernbedienung hinzuzufügen, können Sie die verwenden git remote add
Befehl:
git remote add remote_name remote_address
Sie können eine Fernbedienung mit dem entfernen git remote remove
Befehl:
git remote remove remote_name
Wenn Sie die Adresse einer Fernbedienung ändern möchten, können Sie die verwenden set-url
Befehl:
git remote set-url remote_name new_remote_address
3. Verzweigen in Git
Der größte Vorteil von Git gegenüber anderen Versionskontrollsystemen ist die Leistung seiner Zweige. Bevor ich mich mit den Grundlagen der Verzweigung befasse, fragen Sie sich vielleicht Was für ein Zweig ist. Ein Zweig ist ein Zeiger auf ein Commit in Ihrem Repository, das wiederum auf seinen Vorgänger verweist. Daher repräsentiert ein Zweig eine Liste von Commits in chronologischer Reihenfolge. Wenn Sie einen Zweig erstellen, erstellen Sie effektiv nur einen neuen Zeiger auf ein Commit. Im Wesentlichen stellt es jedoch einen neuen, unabhängigen Entwicklungspfad dar.
Wenn Sie an Ihrem eigenen Projekt gearbeitet haben, haben Sie möglicherweise nie bewusst Zweige verwendet. Standardmäßig verwendet Git die master
Zweig für Entwicklung. Alle neuen Commits werden diesem Zweig hinzugefügt.
Für Git ist eine Verzweigung erforderlich, um die Arbeitslinien in einem Projekt aufzuteilen. Zu einem bestimmten Zeitpunkt gibt es möglicherweise viele Entwickler, die an einer Vielzahl unterschiedlicher Probleme arbeiten. Im Idealfall werden diese Probleme in verschiedenen Zweigen bearbeitet, um die logische Trennung des neuen Codes bis zur Überprüfung und Zusammenführung des Codes sicherzustellen.
Führen Sie den folgenden Befehl aus, um eine Liste der Zweige und den aktuell aktiven Zweig zu überprüfen:
git branch
Führen Sie den folgenden Befehl aus, um einen neuen Zweig zu erstellen:
git branch new_branch
Obwohl Git einen neuen Zweig erstellt, beachten Sie, dass Ihr aktiver Zweig immer noch der alte ist. Führen Sie Folgendes aus, um die Entwicklung in einem neuen Zweig zu starten:
git checkout new_branch
Führen Sie den folgenden Befehl aus, um einen neuen Zweig zu erstellen und den aktiven Zweig zu ändern:
git checkout -b new_branch
Führen Sie den folgenden Befehl aus, um den aktuellen Zweig umzubenennen:
git branch -m new_renamed_branch
Verwenden Sie das -D
Option zum Entfernen eines Zweigs:
git branch -D new_renamed_branch
Hier ist eine detaillierte Anleitung zu Verzweigung in Git.
4. Aktualisieren Sie Ihr lokales Repository: Zusammenführen
Während wir die Grundlagen der Verzweigung in Git überprüft haben, besteht der nächste logische Schritt darin, eine Verzweigung in Ihrer Basisverzweigung zusammenzuführen, wenn Sie mit der Arbeit an einem Problem fertig sind. Führen Sie den folgenden Befehl aus, um einen Zweig zusammenzuführen:
git checkout base_branch
git merge new_branch
Während es wie ein einfacher Prozess klingt, ist das Zusammenführen möglicherweise der zeitaufwändigste Prozess in Git, da es zu Konflikten führen kann.
5. Konflikte behandeln
Stellen Sie sich vor, Sie arbeiten an einer Datei in einem neuen Zweig. Nachdem Sie die Änderungen festgeschrieben haben, fordern Sie Git auf, Ihren neuen Zweig mit Ihrem Basiszweig zusammenzuführen. Der gleiche Teil derselben Datei im Basiszweig wurde jedoch aktualisiert, seit Sie den neuen Zweig erstellt haben. Wie entscheidet Git, welche Änderungen beibehalten und welche verworfen werden sollen?
Git versucht immer, während einer Zusammenführung keine Daten zu verlieren. Wenn die Änderungen an derselben Datei in verschiedenen Teilen der Datei vorgenommen wurden, können Sie davonkommen, indem Sie beide Änderungssätze beibehalten. Wenn Git jedoch nicht entscheiden kann, welche Änderungen beibehalten werden sollen, wird ein Konflikt ausgelöst.
Wenn ein Konflikt ausgelöst wurde, wird ausgeführt git status
In Ihrem Repository wird eine Liste der Dateien angezeigt, die in beiden zusammengeführten Zweigen geändert wurden. Wenn Sie eine Datei mit einem Konflikt öffnen, werden die folgenden Zeilen angezeigt:
<<<<<<<< HEAD
...
...
========
...
...
>>>>>>>> new_branch
Der Teil der Datei zwischen <<<<<<<< HEAD
und ========
enthält den Code, der im Basiszweig vorhanden ist. Die Codezeilen zwischen ========
und >>>>>>>> new_branch
sind in der new_branch
Ast. Der Entwickler, der den Code zusammenführt, hat die Verantwortung zu entscheiden, welcher Teil des Codes (oder eine Mischung aus beiden Teilen) in die Zusammenführung einbezogen werden soll. Entfernen Sie nach der Bearbeitung die drei angezeigten Zeilensätze, speichern Sie die Datei und übernehmen Sie die Änderungen.
6. Synchronisieren Sie Änderungen mit der Fernbedienung
Während wir besprochen haben, wie Code in neuen Zweigen festgeschrieben und mit dem Basiszweig zusammengeführt wird, wollen wir nun sehen, wie Sie Code mit der Fernbedienung synchronisieren können. Bevor Sie Ihre Änderungen auf der Fernbedienung veröffentlichen können, müssen Sie Ihre lokale Kopie des Repositorys aktualisieren, um alle Änderungen zu berücksichtigen, die möglicherweise seit Ihrer letzten Aktualisierung aufgetreten sind. Führen Sie den folgenden Befehl aus, um Änderungen von der Fernbedienung zu aktualisieren:
git pull remote remote_branch:local_branch
Das git pull
Der Befehl lädt zuerst die Daten von der Fernbedienung herunter und führt dann den im Befehl angegebenen lokalen Zweig zusammen. Konflikte können auch beim Abrufen von Änderungen von einer Fernbedienung auftreten. In einem solchen Fall würde die letzte Zeile in einer Konfliktdatei enthalten >>>>>>>> commit_hash
statt >>>>>>>> new_branch
, Wobei commit_hash
Dies wäre der identifizierende Hash für das Commit, das Ihrer Niederlassung hinzugefügt wird.
Verwenden Sie die Option, um Änderungen an der Fernbedienung nach dem Zusammenführen mit dem neuesten Code von der Fernbedienung zu veröffentlichen git push
Befehl:
git push remote local_branch:remote_branch
7. Git in der Cloud: Forking
Wenn Ihr Team in der Cloud arbeitet, wird Ihnen ein zusätzliches Konzept namens Fork vorgestellt. Ein Fork ist eine Kopie des zentralen Repositorys der Cloud unter Ihrem Benutzernamen. Sie haben Schreibzugriff auf Ihre Verzweigung. Dies ist ein sicherer Ort, an dem Sie Änderungen vornehmen können, ohne das ursprüngliche Repository zu beeinträchtigen.
Dies betrifft genau den Technikschritt, den ich oben behandelt habe. Sie klonen Ihre Gabel, also die origin
Ihres lokalen Repositorys zeigt auf Ihre Abzweigung in der Cloud. Wie erhalten Sie dann die Updates aus dem neuesten Repository? Sie müssen manuell eine Fernbedienung hinzufügen, upstream
, die auf das ursprüngliche Repository verweist.
Während Sie problemlos Änderungen an Ihrem Fork veröffentlichen können, wie können Sie neuen Code in das ursprüngliche Repository aufnehmen? Das bringt uns zum nächsten Schritt.
8. Codeüberprüfungen durch Pull-Anfragen
Eine Pull-Anforderung ist eine Anforderung zum Zusammenführen von Code von einem Zweig zu einem anderen. Dieses Konzept wurde entwickelt, seit Cloud-Dienste für Git populär wurden. Eine Pull-Anfrage fasst den Vergleich zwischen den beiden fraglichen Zweigen zusammen und leitet eine Diskussion zwischen dem Entwickler und den Administratoren der Organisation ein.
Eine Codeüberprüfung kann zu weiteren Änderungen führen, bevor sie zusammengeführt werden kann. Wenn die Administratoren mit den Änderungen zufrieden sind, kann sie mit dem Repository zusammengeführt werden.
9. Wissen über Git-Workflows
Wenn Sie alleine an einem einzelnen Projekt arbeiten, verwenden Sie wahrscheinlich nur einen einzigen Zweig. Sie halten sich unwissentlich an den zentralen oder Trunk-Workflow, bei dem alle Änderungen an einem einzelnen Zweig vorgenommen werden.
Der nächste, komplexere Workflow ist der Feature-Branch-Workflow, bei dem jedem Feature oder jeder Fehlerbehebung ein einzelner Zweig zugeordnet wird. Keine Entwicklung findet direkt auf dem statt master
or development
Geäst.
Ein Git-Workflow, der eine Vielzahl von Situationen umfasst, ist der Gitflow-Workflow. Es verfügt über separate Zweige für Entwicklung, Funktionen, Releases und Hotfixes.
Hier ist eine detaillierte Anleitung zu Git-Workflows.
10. Behandeln Sie große Dateien: Git LFS
Während Git großartige Arbeit im Umgang mit Textdateien leistet, kann es Änderungen in binären und ausführbaren Dateien nicht verfolgen. Während Sie solche Dateien zu Git hinzufügen können, kann dies möglicherweise zu einer großen Repository-Größe mit einer Erhöhung der Anzahl der Commits führen.
Die Lösung ist zu verwenden Git-Speicher für große Dateien, das große Binärdateien über Git verarbeitet. Dieses Tool speichert diese Dateien in der Cloud und ersetzt sie durch Textzeiger. Hier ist eine Implementierung von Verwenden von Git LFS zum Verfolgen von Photoshop-Designdateien.
Weiterführende Literatur
In diesem Beitrag habe ich über verschiedene Git-Techniken gesprochen, die Ihnen beim ersten Beitritt zu einem Team helfen können. Ich hoffe, es hat Ihnen bei Ihrer Vorbereitung auf die Zukunft geholfen. Habe ich etwas verpasst? Lass es mich wissen auf Twitter!
Weitere Informationen zu Git finden Sie in den folgenden Ressourcen:
- Starthilfe Git: Eine kurze Anleitung, die Sie an einem einzigen Wochenende auf den neuesten Stand bringt.
- Professionelle Git: Ein tieferer Tauchgang, der dich auf den Weg zur Git-Meisterschaft bringt.
Quelle: https://www.sitepoint.com/git-techniques-to-know-before-you-join-a-team/?utm_source=rss