Versionskontrolle

Versionskontrollwerkzeuge (oft als Versionskontrollsysteme oder VCS bezeichnet) sind ein wesentlicher Bestandteil moderner Arbeitsabläufe, um Codebasen zu sichern und an ihnen zusammenzuarbeiten. Dieses Modul führt Sie durch die Grundlagen der Versionskontrolle mit Git und GitHub.

Übersicht

Versionskontrollwerkzeuge sind für die Softwareentwicklung unerlässlich:

  • Es ist selten, dass Sie an einem Projekt ganz allein arbeiten, und sobald Sie mit anderen Menschen zusammenarbeiten, laufen Sie Gefahr, einander in die Quere zu kommen – dies geschieht, wenn beide versuchen, dieselbe Code-Stelle gleichzeitig zu aktualisieren. Sie benötigen eine Art Mechanismus, um solche Vorkommnisse zu verwalten und den Verlust von Arbeit zu vermeiden.
  • Wenn Sie an einem Projekt allein oder mit anderen arbeiten, möchten Sie den Code an einem zentralen Ort sichern, damit er nicht verloren geht, falls Ihr Computer kaputtgeht.
  • Sie möchten auch zu früheren Versionen zurückkehren können, wenn später ein Problem entdeckt wird. Möglicherweise haben Sie damit begonnen, dies in Ihrer eigenen Arbeit zu tun, indem Sie verschiedene Versionen derselben Datei erstellen, z. B. myCode.js, myCode_v2.js, myCode_v3.js, myCode_final.js, myCode_really_really_final.js usw., aber dies ist wirklich fehleranfällig und unzuverlässig.
  • Verschiedene Teammitglieder möchten häufig ihre eigenen separaten Versionen des Codes erstellen (im Git als Branches bezeichnet), an einem neuen Feature in dieser Version arbeiten und dann in kontrollierter Weise (bei GitHub nutzen wir Pull Requests) mit der Hauptversion zusammenführen, wenn sie damit fertig sind.

Versionskontrollwerkzeuge erfüllen die oben genannten Bedürfnisse. Git ist ein Beispiel für ein Versionskontrollwerkzeug, und GitHub ist eine Website + Infrastruktur, die einen Git-Server sowie eine Reihe wirklich nützlicher Werkzeuge für die Arbeit mit Git-Repositories einzeln oder im Team bereitstellt, wie z. B. das Melden von Problemen im Code, Überprüfungstools, Projektmanagement-Funktionen wie das Zuweisen von Aufgaben und Aufgabenstatus und mehr.

Hinweis: Git ist tatsächlich ein verteiltes Versionskontrollwerkzeug, was bedeutet, dass eine vollständige Kopie des Repositorys mit der Codebasis auf Ihrem Computer (und dem aller anderen) erstellt wird. Sie nehmen Änderungen an Ihrer eigenen Kopie vor und übertragen diese Änderungen dann zurück auf den Server, wo ein Administrator entscheidet, ob Ihre Änderungen mit der Hauptkopie zusammengeführt werden.

Voraussetzungen

Um Git und GitHub zu verwenden, benötigen Sie:

  • Einen Desktop-Computer mit installiertem Git (siehe die Git-Download-Seite).
  • Ein Werkzeug, um Git zu verwenden. Abhängig davon, wie Sie gerne arbeiten, könnten Sie einen Git GUI-Client verwenden (wir empfehlen GitHub Desktop, SourceTree oder Git Kraken) oder einfach ein Terminalfenster verwenden. Tatsächlich ist es wahrscheinlich nützlich für Sie, zumindest die Grundlagen der Git-Terminalbefehle kennenzulernen, auch wenn Sie eine GUI verwenden möchten.
  • Ein GitHub-Konto. Wenn Sie noch keins haben, melden Sie sich jetzt mit dem bereitgestellten Link an.

In Bezug auf das erforderliche Wissen brauchen Sie nichts über Webentwicklung, Git/GitHub oder Versionskontrolle zu wissen, um mit diesem Modul zu beginnen. Es wird jedoch empfohlen, dass Sie einige Programmierkenntnisse haben, damit Sie über eine angemessene Computerkompetenz verfügen und etwas Code haben, den Sie in Ihren Repositories speichern können!

Es ist auch vorzuziehen, dass Sie einige grundlegende Terminalkenntnisse haben, so zum Beispiel das Wechseln zwischen Verzeichnissen und das Erstellen von Dateien. Sie finden alle Grundlagen in unserem Einführungskurs zur Befehlszeile.

Hinweis: GitHub ist nicht die einzige Seite/Toolset, die Sie mit Git verwenden können. Es gibt andere Alternativen wie GitLab, die Sie ausprobieren könnten, und Sie könnten auch versuchen, Ihren eigenen Git-Server einzurichten und diesen anstelle von GitHub zu verwenden. Wir haben uns in diesem Kurs nur auf GitHub beschränkt, um einen einzigen Weg zu bieten, der funktioniert.

Lernziele

  • Warum Versionskontrollsysteme notwendig sind.
  • Der Unterschied zwischen Git und Websites wie GitHub und GitLab.
  • Verstehen, dass Websites wie GitHub und GitLab Teamarbeit und Zusammenarbeit ermöglichen, die mit einfachem Git nicht so leicht möglich sind.
  • Grundlegende Einrichtung – Git installieren, ein Konto für Ihre gewählte soziale Codierungsseite einrichten.
  • Sicherheitsanforderungen handhaben, wie SSH/GPG-Schlüssel.
  • Ein Repository erstellen und Änderungen hochladen.
  • Zu den Repositories anderer beitragen: forken, einen neuen Branch erstellen, einen PR erstellen und den Überprüfungsfluss.
  • Gute Haushaltsführung:
    • Lokale Repositories regelmäßig aktualisieren, damit sie mit ihren Remote-Gegenstücken synchron sind.
    • .gitignore verwenden, um all das Zeug zu ignorieren, das Sie nicht committen möchten.
    • Branches löschen, die Sie fertiggestellt haben.
  • Umgang mit Merge-Konflikten.

Leitfäden

Beachten Sie, dass die unten stehenden Links Sie zu Ressourcen auf externen Websites führen. Letztendlich streben wir an, unseren eigenen dedizierten Git/GitHub-Kurs zu haben, aber vorerst werden diese Ihnen helfen, das Thema in den Griff zu bekommen.

Hallo, Welt (von GitHub)

Dies ist ein guter Startpunkt – dieser praktische Leitfaden bringt Sie direkt zur Nutzung von GitHub, indem Sie die Grundlagen von Git lernen, wie das Erstellen von Repositories und Branches, das Erstellen von Commits und das Öffnen und Zusammenführen von Pull Requests.

Git-Handbuch (von GitHub)

Dieses Git-Handbuch geht etwas mehr in die Tiefe, erklärt, was ein Versionskontrollwerkzeug ist, was ein Repository ist, wie das grundlegende GitHub-Modell funktioniert, Git-Befehle und Beispiele und mehr.

Projekte forken (von GitHub)

Projekte forken ist wesentlich, wenn Sie zum Code eines anderen beitragen möchten. Dieser Leitfaden erklärt, wie.

Über Pull Requests (von GitHub)

Ein nützlicher Leitfaden zum Umgang mit Pull Requests, dem Weg, wie Ihre vorgeschlagenen Codeänderungen zur Überprüfung in die Repositories von anderen eingereicht werden.

Umgang mit Problemen (von GitHub)

Probleme sind wie ein Forum für Ihr GitHub-Projekt, in dem Menschen Fragen stellen und Probleme melden können, und Sie können Updates verwalten (zum Beispiel Menschen zuweisen, Probleme zu beheben, das Problem zu klären, die Leute wissen zu lassen, dass Dinge behoben sind). Dieser Artikel erklärt, was Sie über Probleme wissen müssen.

Hinweis: Es gibt viel mehr, das Sie mit Git und GitHub machen können, aber wir fühlen, dass das oben Genannte das Minimum ist, das Sie wissen müssen, um Git effektiv zu nutzen. Wenn Sie tiefer in Git eintauchen, werden Sie anfangen zu realisieren, dass es leicht ist, schiefzulaufen, wenn Sie anfangen, kompliziertere Befehle zu verwenden. Keine Sorge, auch professionelle Webentwickler finden Git manchmal verwirrend und lösen Probleme oft, indem sie nach Lösungen im Web suchen oder Websites wie Flugregeln für Git und Dangit, git! konsultieren.

Siehe auch