Git und Github: Ein Anfängerleitfaden für komplette Neulinge
Veröffentlicht: 2017-08-15Trotz allem, was Fernsehen und Filme uns erzählen, gehört das Leben als Softwareentwickler nicht dazu, in einem dunklen Raum zu sitzen, unsere Tastatur nur vom Schein des Monitors beleuchtet, der Gedanke, mit einem anderen Menschen zu interagieren, ist abstoßend. Nein, das Leben als Softwareentwickler ist sozial und kollaborativ – manchmal bis zur Frustration. Deshalb haben wir git und Github.
Git ist eine Versionskontrollsoftware, die die Zusammenarbeit mit Teamkollegen super einfach macht… sobald Sie die anfängliche Lernkurve hinter sich haben. Es kann einschüchternd sein, aber deshalb bin ich hier!
Was ist Git?
Nun, es ist nicht nur die Art und Weise, wie wir Südländer Schädlinge von unseren Veranden verscheuchen, das sage ich Ihnen.
Wie ich oben sagte, ist Git eine Versionskontrollsoftware. Es wurde von Linus Torvalds entwickelt, dem Erfinder von Linux. Sie müssen kein Linux ausführen, um git zu verwenden – Sie können es auch unter Windows und Mac verwenden.
Mit Git können Sie jede Überarbeitung, die Sie und Ihr Team während der Entwicklung Ihrer Software vornehmen, leicht nachverfolgen. Sie alle teilen sich ein Code-Repository, das unabhängig bearbeitet und dann wieder zusammengeführt wird. Sie müssen auch nicht ständig verbunden sein, da das Projekt sowohl lokal auf jedem Computer als auch remote (wahrscheinlich bei Github) gespeichert wird.
Git ist etwas Besonderes (und ziemlich obligatorisch), da Sie zu jeder früheren Version Ihres Codes zurückkehren, ein bestimmtes Feature verzweigen und entwickeln können, ohne etwas oder andere zu beeinträchtigen, und die Sicherheit vor Datenbeschädigung aufgrund seiner verteilten Natur gewährleisten können.
Es bietet auch einfach zu implementierende Verschlüsselung und betriebssystemübergreifende Kompatibilität sowie asynchrone, nichtlineare Workflows, sodass Sie unabhängig von Ihrem Standort an einem Aspekt Ihres Projekts arbeiten können.
Wenn Sie kein Git verwenden, codieren Sie im Grunde mit einer auf dem Rücken gefesselten Hand.
Erforderliches Vokabular
Wenn Sie zum ersten Mal anfangen, Git zu verwenden, kann es einschüchternd sein. Befehle und Konzepte können völlig fremd erscheinen, wenn Sie in der Vergangenheit noch nie irgendeine Form der Versionskontrolle verwendet haben. Sie werden sie jedoch super schnell abholen.
Repository:
Wird oft als Repo bezeichnet . Ein Repository ist die Sammlung von Dateien und Ordnern, die Sie mit git verfolgen. Das Repository besteht aus dem gesamten Verlauf der Änderungen Ihres Teams am Projekt. Es ist die große alte Kiste, in die Sie und Ihr Team Ihren Code werfen.
Github:
Die beliebteste Remote-Speicherlösung für Git-Repos. Außerdem können Sie Zugriffsberechtigungen für Projekte festlegen, Fehler verfolgen und übermitteln, Funktionsanfragen annehmen, Repository-Benachrichtigungen abonnieren und eine grafische Benutzeroberfläche verwenden, anstatt die Befehlszeile zu verwenden. Repos sind standardmäßig öffentlich, kostenpflichtige Konten können jedoch private Konten haben.
Verpflichten:
Betrachten Sie dies als Speichern Ihrer Arbeit. Wenn Sie sich für ein Repository festlegen, ist es, als würden Sie die Dateien so sammeln, wie sie in diesem Moment vorhanden sind, und sie in eine Zeitkapsel stecken. Der Commit existiert nur auf Ihrem lokalen Computer, bis er an ein Remote-Repository übertragen wird.
Drücken:
Schieben ist das Brot zur Butter des Begehens. Beim Commit werden Ihre Dateien in die Timecapsule geworfen, und beim Pushen wird die Kapsel in den Weltraum befördert. Beim Pushen werden Ihre Commits im Wesentlichen mit der Cloud synchronisiert (wiederum wahrscheinlich Github). Sie können auch mehrere Commits gleichzeitig pushen. Sie können offline arbeiten, viel Arbeit leisten und dann alles auf Github übertragen, wenn Sie mit diesem süßen, süßen WLAN wieder in der Zivilisation sind.
Zweig:
Sie können sich Ihr Git-Repository als Baum vorstellen. Der Stamm des Baumes, die Software, die live geht, wird als Master Branch bezeichnet. Das ist der, der live geht. Die Zweige dieses Baumes werden, nun ja, Zweige genannt. Dies sind separate Instanzen des Codes, die von der Hauptcodebasis abstammen. Sie können für ein einzelnes Feature oder einen experimentellen Patch abzweigen. Durch die Verzweigung können Sie die Integrität der Software bewahren und haben die Möglichkeit, es rückgängig zu machen, wenn Sie etwas völlig Verrücktes tun. Es ermöglicht Ihnen auch, an Ihrer Aufgabe zu arbeiten, ohne Ihrem Team (oder Ihrem Team) in den Weg zu fallen.
Verschmelzen:
Wenn ein Branch aufpoliert, fehlerfrei ist (zumindest soweit Sie das beurteilen können) und bereit ist, Teil der primären Codebasis zu werden, wird er in den Master-Branch eingegliedert. Zusammenführen ist genau das, wonach es sich anhört: zwei Filialen zusammenzuführen. Jeder neue oder aktualisierte Code wird ein offizieller Bestandteil der Codebasis. Jeder, der ab dem Zeitpunkt der Zusammenführung abzweigt, wird diesen Code auch in seinem Zweig haben.
Klon:
Das Klonen eines Repos ist ziemlich genau das, wonach es sich anhört. Es nimmt das gesamte Online-Repository und erstellt eine genaue Kopie davon auf Ihrem lokalen Computer. Sie müssen dies aus einer Reihe von Gründen tun, nicht zuletzt, wenn Sie mitten in einem Projekt mit einem neuen Team beginnen, Arbeitsstationen austauschen oder von einem beschädigten Repository aus neu beginnen.
Gabel:
Forking ist dem Klonen sehr ähnlich, nur anstatt ein Duplikat eines vorhandenen Repositorys auf Ihrem lokalen Computer zu erstellen, erhalten Sie ein völlig neues Repository dieses Codes unter Ihrem eigenen Namen. Diese Funktion wird hauptsächlich verwendet, um eine vorhandene Codebasis zu übernehmen und damit eine völlig neue Richtung einzuschlagen, was in Open-Source-Software häufig vorkommt. Entwickler sehen eine Grundidee, die funktioniert, wollen aber einen anderen Weg damit gehen. Forking ermöglicht dies. Sie können auch im Repository eines anderen Entwicklers spielen, als wäre es Ihre eigene persönliche Sandbox. Und wenn Sie etwas tun, von dem Sie glauben, dass es ihnen gefallen könnte, können Sie eine Pull-Anfrage stellen, damit es zusammengeführt wird.
Pull-Anfrage:
Eine Pull-Anfrage ist, wenn Sie eine Anfrage senden, damit die von Ihnen vorgenommenen Änderungen (entweder an einem Branch oder einem Fork) in den Master-Branch des Repositorys gezogen (oder zusammengeführt) werden. Dies ist die große Zeit. Hier passiert die Magie. Wenn der Pull-Request genehmigt wird, haben Sie offiziell zur Software beigetragen und Github zeigt für immer genau an, was Sie getan haben. Wenn die Pull-Anfrage jedoch aus irgendeinem Grund abgelehnt wird, kann der Verweigerer Feedback dazu geben, warum die Anfrage abgelehnt wurde und was Sie tun können, um sie zu akzeptieren.
Erste Schritte und erforderliche Befehle
Das war nicht so schlimm, oder?
Rechts. Jetzt, da Sie eine klare Vorstellung davon haben, was Git ist, ist es an der Zeit, sich die Hände schmutzig zu machen.
Ich sollte diese Gelegenheit jedoch nutzen, um anzumerken, dass ich davon ausgehen werde, dass Sie die Befehlszeile verwenden, um mit git zu interagieren. Sicher, es gibt grafische Git-Clients (und Github erlaubt Ihnen sogar, so ziemlich alles über seine Weboberfläche zu tun), aber für die Zwecke dieses Beitrags werden wir uns nicht damit beschäftigen. Sie werden eine Handvoll Dinge außerhalb des Terminals tun, aber die Befehlszeile wird Ihre neue BFF sein. Damit gehen wir auch.
Git . installieren
Git wurde (wahrscheinlich) nicht auf Ihrem Computer installiert, also müssen wir es dorthin bringen. Glücklicherweise ist die Installation von git super einfach, egal ob Sie Linux, Mac oder Windows verwenden.
Öffnen Sie für Linux das Terminal und geben Sie sudo apt-get install git-all ein (wenn Sie sich in Ubuntu befinden. Wenn nicht, gibt es eine Liste aller Linux-Paketinstallationsbefehle für jede andere Distribution, in der Sie sich befinden.)
Unter Windows ist es genauso einfach. Sie laden das Installationsprogramm herunter und führen es aus.
Auf einem Mac müssen Sie nur das Terminal öffnen und git eingeben . Wenn git nicht installiert ist, sehen Sie Folgendes:

Sobald Sie auf Installieren geklickt haben, können Sie loslegen.
Sehen? Supereinfach!
Git . verwenden
Hier beginnt der Spaß. Nachdem Sie git installiert haben, ist es an der Zeit ... git-r-done! Haha! Aber es ist wirklich an der Zeit, sich einzugraben und zu lernen, wie man dieses erstaunliche kleine Stück Befehlszeilenzauberei verwendet. Und wo könnte man besser anfangen als Github?
Gehen Sie also vorbei und registrieren Sie sich für Ihr neues Github-Konto (oder melden Sie sich an, wenn Sie bereits eines haben, und ich bin in einer Sekunde bei Ihnen).
Github ist für öffentliche Repositorys kostenlos, und Sie können gegen einen Preis private Repositorys haben. (Zu Ihrer Information: Sie können bei Bitbucket, einem weniger bekannten, aber großartigen Ort, kostenlose private Repos erhalten). Zum größten Teil ist die kostenlose Option auf Github für die meisten Leute in Ordnung (und sie funktioniert auch wie ein lebender Lebenslauf!), aber einige Kunden und Arbeitgeber benötigen Privatsphäre und Sicherheit, daher ist es gut, Optionen zu haben.

Danach können Sie Ihr erstes Repository einrichten! Nachdem Sie Ihre E-Mail und all das lustige Zeug bestätigt haben.


Sie sollten das Repository zuerst in Github einrichten. Sie können dies auf Ihrem Computer tun und dann auch hochladen, aber es ist einfacher, es zuerst im Web zu tun.

Beachten Sie, dass ich mir in diesem Repo keine Sorgen um eine Lizenz oder .gitignore mache. Da dies keine echte Software ist, muss ich mich nicht darum kümmern, aber in Produktionsfällen können Sie mit .gitignore natürlich Dateien im Verzeichnis Ihres Repositorys ignorieren. Und welche Lizenz Ihre Software benötigt, können Sie hier nachlesen.

Ich initialisiere das Repo jedoch mit einer README-Datei, die Sie verwenden sollten, um die grundlegende Dokumentation für das Projekt aufzubewahren. Ich neige dazu, sie während meiner Arbeit als Tracker für größere Änderungen, To-Do-Listen und verschiedene Arten von Notizen zu verwenden. Aber das sind persönliche Projekte. Unterschiedliche Teamleiter haben unterschiedliche Erwartungen.
Da das Repository jetzt auf Github existiert, ist es an der Zeit, es per Klonen auf Ihren lokalen Computer zu übertragen. Rechts neben Ihrem Repository, direkt über der Dateiliste, sehen Sie eine grüne Schaltfläche mit der Aufschrift "Klonen oder Herunterladen". Klicken Sie darauf und Sie werden Folgendes sehen:

Da wir klonen, können wir alles außer dem Teil über das Klonen mit HTTPS ignorieren. Sie müssen nichts konfigurieren. Sie müssen nur Ihren Benutzernamen und Ihr Passwort eingeben, wenn Sie drücken.
Zuerst müssen Sie jedoch festlegen, wo Ihr Repository auf Ihrem lokalen Computer gespeichert werden soll. Öffnen Sie Ihr Terminal. (Windows-Benutzer, suchen und öffnen Sie ein Programm namens Windows Powershell. Ich schlage auch vor, dass Sie mit der rechten Maustaste klicken und "Als Administrator ausführen" auswählen.)
Der erste Befehl, den Sie lernen müssen, ist ls . Dies wird alles im aktuellen Verzeichnis aufzulisten. Der Einfachheit halber lassen wir unseren dev-Ordner einfach im Home-Verzeichnis des Computers leben. Sie können mkdir dev verwenden , um ein Verzeichnis namens dev zu erstellen . Ziemlich einfach, oder? Wenn Sie erneut lsen , wird der neue Ordner aufgelistet.

Dann möchten Sie in Ihr neues Verzeichnis wechseln, indem Sie cd dev verwenden , das ist der Befehl zum Ändern des Verzeichnisses . Sehen Sie, die Befehlszeile ist überhaupt nicht beängstigend! Wenn Sie zum vorherigen Verzeichnis zurückkehren müssen, verwenden Sie einfach cd .. .
Sobald Sie sich in Ihrem neuen Dev- Ordner befinden, ist es an der Zeit, diese Party zu starten . Heh heh he.
Kopieren Sie zunächst die URL, die angezeigt wird, nachdem Sie auf Github auf die grüne Schaltfläche "Klonen oder Herunterladen" geklickt haben. Es wird ungefähr so aussehen: https://github.com/bjk1337/myfirstrepo.git
Befehle zum Klonen eines Git-Repositorys von Github
- git-Klon https://github.com/bjk1337/myfirstrepo.git
- ls
- cd myfirstrepo – oder wie auch immer du dein Repo genannt hast
- ls
Danach sollte Ihr Terminal in etwa so aussehen und Ihre README-Datei anzeigen, die Sie auf Github eingerichtet haben. Herzlichen Glückwunsch! Sie haben Git gerade zum ersten Mal verwendet und können nun mit der Entwicklung beginnen.

Die Nitty Gitty Kiesig
Da Sie nun ein Repository auf Ihrem Computer haben, müssen Sie lernen, es zu verwenden. Lassen Sie uns also ein wenig vorspulen und sagen, dass Sie eine Weile an einem coolen Projekt arbeiten und einige Dateien im Verzeichnis haben. Es ist an der Zeit, sie zu verpflichten und auf Github zu pushen.
Hinzufügen und Commit zu einem Git-Repository
- git status – Dieser Befehl zeigt Ihnen, welche Dateien für den nächsten Commit nicht zur Liste hinzugefügt wurden. In den meisten Terminal-Apps sind die nicht hinzugefügten/hinzugefügten Dateien jeweils rot/grün.
- git hinzufügen. – durch Hinzufügen einer . Am Ende des Befehls weisen Sie git an, alles in das Verzeichnis aufzunehmen. Wenn Sie eine einzelne Datei hinzufügen möchten, verwenden Sie einfach ihren Dateinamen. Zum Beispiel function.php .
- git status – Abhängig davon, ob Sie die . oder der Dateiname, was immer Sie hinzugefügt haben, sollte jetzt grün sein.
- git commit -m „drei leere Dateien hinzufügen“ – Wenn Sie diese Dateien übertragen, sollten Sie auch eine kurze Nachricht hinterlassen, damit Ihre Teamkollegen (oder Ihr zukünftiges Ich) genau wissen, was in diesem Commit war. Standard-Git-Konventionen besagen, dass Sie so prägnant und spezifisch wie möglich sein und die Nachricht mit der Gegenwartsform des Verbs beginnen sollten.
Ihr Terminal enthält jetzt viel Text und sollte so aussehen. Aber jetzt wissen Sie, was das alles bedeutet!

Pushen zu einem Remote-Git-Repository wie Github
Das Pushen zu einem Repo ist sogar noch einfacher.
- git status – Sie sollten immer überprüfen, wie die Dinge aussehen und ob Sie sich im richtigen Branch befinden.
- git push
- Geben Sie Ihren Benutzernamen und Ihr Passwort für Github ein – Beachten Sie, dass das Passwortfeld auch während der Eingabe leer bleibt. Es ist okay. Geben Sie es einfach ein und drücken Sie die Eingabetaste. Wenn Sie SSH verwendet haben, überspringen Sie diesen Schritt.

Sie können zu Ihrem Github-Konto gehen und das Repo überprüfen, und Ihre Dateien sind dort, Commit-Nachrichten und alles!

Verzweigen und Zusammenführen
Die letzten beiden Befehle, mit denen Sie vertraut sein müssen, befassen sich mit dem Verzweigen und Zusammenführen. Wie ich oben sagte, schützt die Arbeit an einem Branch die Hauptcodebasis, und sobald Ihre Änderungen alle gut sind, können Sie alles wieder zusammenführen.
Sie können ein wenig knifflig sein, daher kann es nur einige Anstöße erfordern, um sie dazu zu bringen, nett zu spielen.
- git checkout -b „branch1“ – Dieser Befehl erstellt sowohl einen neuen Branch, den Sie betiteln , als auch ihn als Ihren Arbeits-Branch. Es kombiniert sowohl die Befehle git checkout als auch git branch in einer handlichen Codezeile.
- touch awesome.html – Dies ist nur ein Füllbefehl , um eine neue HTML-Datei zu erstellen, die ich wieder in den Master einfüge .
- Und wie zuvor werden Sie git status, git awesome.html hinzufügen, git commit -m „create awesome.html“
- git status zeigt Ihnen erneut, dass alles so ist, wie es sein sollte.

Wenn Sie versuchen, es vor dem Zusammenführen zu pushen, erhalten Sie eine Meldung, dass Sie den Ursprung des Repositorys festlegen müssen. Origin ist eine seltsame Namenskonvention für das, was Ihr Computer als Remote-Repository betrachtet. Im Grunde sagen Sie ihm also nur, dass es in Ordnung ist, diesen Zweig wie den Master auf Github zu pushen. Hier ist ein guter Thread zu Git Origin von Stack Overflow.
Wenn das aus dem Weg ist, wird es Ihnen sagen, dass es zu branch1 -> branch1 gegangen ist.

Sie können mit git checkout master zurück zum master-Branch wechseln (diesmal gibt es kein checkout -b, da Sie das nur beim Erstellen eines neuen Branchs verwenden, nicht beim Swapping. Ich habe meine Befehle im Screenshot unten durcheinander gebracht und git branch master ausprobiert Es gelang nicht, weil der Meister bereits existierte.
- git status – Wie immer.
- git merge branch1 – Da in diesem Branch alles in Ordnung ist, können wir fortfahren und zusammenführen.
- Wenn wir den Status erneut eingeben , sehen wir, dass wir Origin/Master um 1 Commit voraus sind. Das bedeutet, dass wir nicht alle Änderungen, die wir an Github vorgenommen haben, übertragen haben.
- git push, um Dinge zu synchronisieren!

Überprüfen Sie Ihr Github-Konto – Sie werden sehen, dass alles, was Sie getan haben, dort widergespiegelt wird. Sie können die verschiedenen Commit-Nachrichten, die Anzahl der Branches und Commits, die wir vorgenommen haben, sowie alle Mitwirkenden am Repository und deren Aktionen sehen.

Und das ist es! Herzliche Glückwünsche! Sie haben gerade Ihren grundlegenden Git-Workflow gerockt. Sie können mit git viel, viel kompliziertere Dinge als das hier machen, aber das ist ziemlich nahe an dem, was Sie wahrscheinlich täglich verwenden werden, wenn Sie gerade … angefangen haben.
Oh, noch eine Sache!
Das Github Repo, myfirstrepo , das ich für diesen Artikel verwendet habe, ist noch live. Probieren Sie es aus, spielen Sie damit, forken Sie es, klonen Sie es oder was auch immer Sie denken, dass Sie sich an die Verwendung von git gewöhnen. Spaß haben! (Und danke, dass du mich und all meine dummen Wortspiele ertragen hast.)
Miniaturansicht des Artikels von MhlSkhrv / shutterstock.com
