Die Implementierung einer Versionskontrolle wäre ein einfaches Unterfangen, wenn du nur als Einzelkämpfer mit einem lokalen Projektarchiv arbeiten würdest. Das ist jedoch bei vielen professionellen Projekten nicht der Fall. Stattdessen bündelt ein Team seine Ressourcen in einem Remote-Repository auf einem Host wie GitHub. Deshalb ist es wichtig zu lernen, wie du auf GitHub pushen kannst, denn das ist Teil deines Arbeitsablaufs.
In diesem Beitrag zeigen wir dir, wie du mit der Kommandozeile einen Push zu GitHub durchführst. Außerdem werfen wir einen Blick auf spezielle Apps, die den Prozess vereinfachen. Am Ende des Artikels gehen wir darauf ein, warum du Pull Requests lernen solltest und wie sie mit dem Pushen von Code zusammenhängen. Schauen wir uns zunächst an, wie du GitHub für deine Projekte nutzen kannst.
Wie ein Entwickler oder Programmierer GitHub nutzt
GitHub ist für Entwickler/innen und Programmierer/innen auf der ganzen Welt aus vielen Gründen ein unverzichtbares Werkzeug. Mit GitHub kannst du deinen Code an einem zentralen Ort speichern, so dass du leicht darauf zugreifen kannst und die Zusammenarbeit mit anderen Entwicklern erleichtert wird.
Du kannst auch die Änderungen an deinem Code verfolgen und bei Bedarf zu früheren Versionen zurückkehren. Darüber hinaus bietet GitHub Tools zur Verwaltung von Problemen und Fehlern, was die Pflege deiner Codebasis vereinfacht.
Die Zusammenarbeit ist einer der Hauptgründe, warum du GitHub als dein bevorzugtes Versionskontrollsystem (VCS) nutzen solltest. Es ermöglicht dir, Code zu teilen, Änderungen zu verfolgen und ohne viel Aufwand an Problemen zu arbeiten. Das kann die Effizienz steigern und zu einer besseren Codequalität führen.
Mit GitHub kannst du außerdem problemlos mehrere Versionen einer Codebasis verwalten, Änderungen nachverfolgen und sie bei Bedarf wieder zurücknehmen. Große Projekte und Open-Source-Gemeinschaftsprojekte sind nur zwei Möglichkeiten, wie GitHub seinen Wert unter Beweis stellen wird.
Auch einfache Anwendungsfälle können ideal sein. Du könntest z.B. den Code für dein Webentwicklungsprojekt speichern und bei Änderungen per Fernzugriff aktualisieren. Auch Continuous Integration/Continuous Deployment (CI/CD) Projekte werden von der Automatisierung in Form von GitHub Actions während der Build-Phasen profitieren.
Insgesamt bietet GitHub – und andere Remote-VCS-Hosts wie GitLab – eine Plattform für Zusammenarbeit, Versionskontrolle und andere Entwicklungsabläufe. Es kann helfen, den Entwicklungsprozess zu rationalisieren und die Codequalität zu verbessern. Deshalb solltest du lernen, wie du auf GitHub pushen kannst, denn dieses Wissen wird dir fast jeden Tag zugute kommen.
Push zu GitHub über das Terminal (Kommandozeile)
Der Rest dieses Artikels zeigt dir, wie du auf GitHub pushen kannst. Dieser Prozess ist einfach zu verstehen und auszuführen.
Du musst jedoch sicherstellen, dass du dein Projekt vorher einrichtest, sonst treten Fehler auf. In unserem ersten Abschnitt schauen wir uns an, welche Werkzeuge und Fähigkeiten du brauchst, und gehen dann im Detail auf den Prozess selbst ein.
Was du für den Push auf GitHub brauchst
Es ist wichtig, dass du dein Projekt so einrichtest, dass du ein Remote Repo verwenden und das Pushen in deinen Arbeitsablauf integrieren kannst. Zuallererst brauchst du also ein Git-Repository – ein „Repo“, in dem du deinen Code speicherst. Betrachte es als einen Ordner, der die Dateien deines Projekts enthält.
Der gesamte Prozess der Versionskontrolle beginnt in einer lokalen Umgebung auf deinem Computer. Die genauen Schritte dazu erklären wir dir später, aber vielleicht hast du diese Kenntnisse bereits (oder weißt, wo du sie findest)
Du brauchst außerdem ein GitHub-Konto. Du könntest aber auch einen anderen Online-VCS-Host wie GitLab, BitBucket, Buddy und andere verwenden. Die Anweisungen, die wir dir hier geben, lassen sich größtenteils auch auf andere Plattformen übertragen. Diese Hoster zu vergleichen, würde jedoch den Rahmen dieses Artikels sprengen.
Um deinen Code auf GitHub zu pushen, kannst du entweder die Kommandozeile oder eine grafische Benutzeroberfläche (GUI) verwenden. Der Hauptteil unseres Beitrags befasst sich mit dem Arbeitsablauf in der Kommandozeile, aber es gibt auch einen Abschnitt über die Verwendung einer GUI, da einige davon sehr beliebt sind. Beachte jedoch, dass jede GUI einen anderen Prozess für den Push zu GitHub hat, was bedeutet, dass du dich an eine bestimmte App halten musst, um sie optimal zu nutzen.
Stelle schließlich sicher, dass du den richtigen Zugang zu deinem Projektarchiv hast. Die Dokumentation von GitHub ist hier sehr ausführlich und du solltest entweder HTTPS-Zugangstoken oder Secure Shell (SSH)-Zugang verwenden. Ohne diesen Zugang wirst du nicht arbeiten können!
1. Ein GitHub-Repository erstellen
Der erste Schritt besteht darin, ein neues Online-Repository bei GitHub zu erstellen. Das kannst du zwar über die Kommandozeile tun, aber es ist genauso einfach, wenn du einen Webbrowser verwendest.
Wenn du dich bei GitHub anmeldest oder registrierst, suchst du in der oberen rechten Ecke des Bildschirms nach einem Plus-Dropdown-Menü neben deinem Profilavatar. Wenn du es öffnest, werden dir einige Optionen angezeigt, darunter Neues Repository:
Wenn du darauf klickst, kommst du auf die Seite Neues Repository erstellen. Hier findest du eine Reihe von Einstellungen, mit denen du dein Projektarchiv einrichten kannst:
Die Optionen, die du hier einstellst, hängen von den Bedürfnissen deines Projekts ab. Wenn du jedoch bereits ein lokales Repository hast, das du an GitHub pushen kannst, solltest du so wenig wie möglich ankreuzen, damit die Einstellungen für das lokale und das Remote-Repository gleich bleiben.
Klicke nun auf die Schaltfläche Repository erstellen und GitHub richtet alles unter der Haube ein. Du gelangst nun zur Startseite des Projektarchivs, wo du Anweisungen findest, wie du ein neues lokales Projektarchiv einrichtest, das über die Kommandozeile mit dem remote Projektarchiv verknüpft wird. Welchen Weg du gehst, hängt davon ab, ob du noch kein Repo hast oder den Inhalt eines bestehenden Projekts klonen möchtest.
Wenn du Git bereits initialisiert und dein lokales Projektarchiv eingerichtet hast, brauchst du Schritt zwei nicht auszuführen. Stattdessen kannst du direkt zum dritten Schritt übergehen, in dem es darum geht, Code von deinem lokalen Projektarchiv nach GitHub zu pushen.
2a. Klone dein remote Git Repo
Wenn du noch kein lokales Repo hast, ist die GitHub-Version die einzige. Am besten synchronisierst du beide Standorte, indem du den Befehl git clone auf deinem Computer verwendest. Allerdings brauchst du die URL für dein Repo.
Um diese zu erhalten, rufe das Projektarchiv auf GitHub auf und suche nach der grünen Dropdown-Option Code über der Liste der Dateien:
Wenn du das nicht siehst, liegt das wahrscheinlich daran, dass du noch kein Repo hast. Du kannst die URL des Projektarchivs auch aus dem blauen Feld für die Schnelleinrichtung oben auf dem Bildschirm kopieren. Wechsle einfach über die Schaltflächen zu HTTPS und kopiere die URL.
Wir würden es jedoch vorziehen, eine .gitignore-Datei zu erstellen, da du diese ohnehin benötigst. Du kannst gitignore.io nutzen, um nach den Tools zu suchen, die du verwendest, und von dort aus eine vollständige .gitignore-Datei erstellen, die du in das Repo hochlädst:
Sobald du das Dropdown-Menü Code öffnen kannst, werden die URLs für dein Repository angezeigt. Es gibt Optionen für HTTPS, Secure Shell (SSH) und andere. Am einfachsten ist es jedoch, die HTTPS-URL zu verwenden. Du kannst auf das kleine Symbol „Kopieren“ neben der betreffenden URL klicken, um sie in die Zwischenablage zu kopieren.
Gehe dann zurück zu deinem Terminal oder deiner Kommandozeilenanwendung und führe Folgendes aus:
git clone <full-github-url>
Sobald du den Befehl ausführst, kopiert Git das entfernte Projektarchiv in deine lokale Umgebung.
2b. Initialisiere Git in deinem lokalen Projektordner
Für Situationen, in denen du noch keine lokale Version deines entfernten Repos hast, musst du eine initialisieren. Die meiste Arbeit wirst du lokal erledigen, wobei du die Änderungen in regelmäßigen Abständen auf den Remote-Server überträgst. Hier sind die Schritte:
- Zuerst gehst du unter
cd
in den Ordner, den du für dein Projekt verwenden möchtest. - Dann führst du den Befehl
git init
aus. Dadurch wird Git in deinem lokalen Projektordner initialisiert und ein verstecktes .git-Verzeichnis erstellt. - Füge deine .gitignore-Datei zum Stammverzeichnis deines lokalen Projektordners hinzu, da du einige Änderungen, die sich auf Systemdateien beziehen, nicht durchführen möchtest.
Jetzt musst du deine aktuellen Dateien indizieren. Dies tust du auf die übliche Art und Weise, indem du git add
verwendest und dann die Änderungen festlegst:
git add .
git commit -m “Initial Commit”
git branch -M trunk
Mit der letzten Zeile änderst du deinen Hauptzweig in einen anderen deiner Wahl, wenn du noch nicht von master gewechselt hast. Letzteres ist problematisch, da es einen negativen Bezug zur Sklaverei hat, daher wird empfohlen, es zu ändern. Wir haben hier trunk verwendet, aber main ist auch akzeptabel. Wenn du weißt, dass du diese Zeile nicht brauchst, kannst du sie weglassen.
Jetzt kannst du lernen, wie du auf GitHub pushen kannst!
3. Füge einen neuen Remote Origin hinzu und pushe deinen Code zu GitHub
Sobald du ein neues Remote-Repository auf GitHub erstellt hast, musst du einen neuen „Remote-Ursprung“ zu deinem lokalen Repository hinzufügen. Das ist der Link zu deinem entfernten Repository, damit dein lokales Repository weiß, wohin es die Upstream-Änderungen senden soll.
Gib dazu den folgenden Befehl in dein Terminal ein:
git remote add origin <github-url>
Technisch gesehen kann das Remote, das du hinzufügst, einen beliebigen Namen haben. Die meisten nennen es jedoch „origin“, da du nur ein Remote add verwendest und es absolute Klarheit bietet. Jetzt kannst du mit folgendem Befehl auf GitHub pushen:
git push -u origin trunk
Mit diesem Befehl wird dein Code an den neuen Remote-Ursprung mit dem Namen „origin“ gepusht und der Upstream-Zweig auf „trunk“ gesetzt Du kannst auch jeden beliebigen Zweig in das Remote-Repository pushen, wenn du das möchtest.
Sobald der Prozess abgeschlossen ist, musst du überprüfen, ob der Push erfolgreich war. Dafür gibt es mehrere Möglichkeiten. Du kannst zum Beispiel das Projektarchiv auf GitHub besuchen und nachsehen, ob die Änderungen live sind:
Du kannst aber auch git log
von der Kommandozeile aus aufrufen:
Dieser Befehl zeigt jeden Commit für dein Repository an, auch den, den du gerade gepusht hast. Wenn der Commit also im Log steht, war der Push erfolgreich.
Wie du ohne Fehler zu GitHub pushst
In manchen Fällen kann ein Fehler auftreten, wenn du versuchst, deinen Code auf GitHub zu pushen:
Das passiert, wenn du bereits eine sichere Verbindung zu GitHub über ein altes Projekt hast, aber einen alten RSA-Schlüssel verwendest. Wir haben eine Anleitung, wie du dieses Problem allgemein beheben kannst. Um dieses Problem speziell für GitHub zu beheben, kannst du Folgendes ausführen:
ssh-keygen -R github.com
Dadurch wird deine Datei „Bekannte Hosts“ aktualisiert und eine Bestätigungsmeldung angezeigt:
Führe nun den folgenden Befehl aus, um den neuen RSA-Schlüssel zu deiner Datei „Bekannte Hosts“ hinzuzufügen:
curl -L https://api.github.com/meta | jq -r '.ssh_keys | .[]' | sed -e 's/^/github.com /' >> ~/.ssh/known_hosts
Es kann sein, dass du auch hier einen Fehler siehst, der sich auf das jq-Paket bezieht. Wenn das der Fall ist, kannst du je nach Betriebssystem einen der folgenden Schritte ausführen:
- Windows:
curl -L -o /usr/bin/jq.exe https://github.com/stedolan/jq/releases/latest/download/jq-win64.exe
- Mac:
brew install jq
- Linux:
apt-get update | apt-get -y install jq
Sobald dies installiert ist, führe den Befehl erneut aus und warte, bis er abgeschlossen ist:
Anschließend kannst du den Befehl git push
erneut ausführen und dieses Mal sollte der Vorgang abgeschlossen sein. Wenn nicht, liegt das Problem wahrscheinlich an falschen SSH-Schlüsseln oder daran, dass du sichere Verbindungen mit eigenen Schlüsseln einrichten musst. Wir haben eine ausführliche Anleitung, wie du neue SSH-Schlüssel für GitHub erzeugst, und auch die Dokumentation von GitHub ist sehr ausführlich.
Mit einer GUI deinen Code zu GitHub pushen
Auch wenn das Pushen von Code auf GitHub einfach ist, wenn du es einmal eingerichtet hast, gibt es doch viele Schritte, Vorbehalte und Unterprozesse, die du beachten musst. Eine GUI kann den Prozess vereinfachen.
Du hast zum Beispiel alle Funktionen der Kommandozeile, aber mit einer schöneren Oberfläche (in manchen Fällen mit Drag-and-Drop). Außerdem ist es oft einfacher, Änderungen über eine GUI zu visualisieren und zu verwalten, vor allem, wenn du mit Kommandozeilen-Tools nicht vertraut bist.
Wenn du weißt, dass du deine GUI-App nie für den Zugriff auf einen anderen VCS-Host benötigst, könnte GitHub Desktop perfekt sein.
Mit der App kannst du Repositories erstellen und verwalten, Änderungen übertragen und diese Änderungen mit wenigen Klicks auf GitHub veröffentlichen. Die App funktioniert per Drag-and-Drop und verfügt über ein visuelles Diff-Tool, mit dem sich Codeänderungen zwischen Versionen leichter erkennen lassen:
Sourcetree ist eine weitere beliebte Git-GUI, die wir uns in unserer Übersicht der Webentwicklungs-Tools ansehen. Obwohl das bevorzugte VCS BitBucket ist (weil es ein Atlassian-Produkt ist), kannst du das Tool auch mit GitHub verwenden. Das Tool zur Lösung von Merge-Konflikten ist ebenfalls praktisch und gehört zu den herausragenden Funktionen.
GitKraken ist die wohl am besten aussehende GUI-App auf dem Markt und bietet eine günstige kostenlose Version für lokale und öffentliche Repos. Sie unterstützt alle wichtigen VCS-Hosts – natürlich GitHub, aber auch GitLab und BitBucket. Wir lieben die visuelle Darstellung deines Repos und die Lösung bietet auch durchdachte Funktionen für Teams.
GitHub Desktop für den Push zu GitHub verwenden
Auch wenn der Prozess für jede App etwas anders ist, ist GitHub Desktop einfach zu bedienen. Du arbeitest in einem einzigen Bildschirm, der verschiedene Fenster und Panels verwendet. Sobald du eine Änderung an einer Datei vorgenommen hast (die du über ein Kontextmenü mit der rechten Maustaste im Editor deiner Wahl öffnen kannst), bestätigst du sie über ein kleines Widget auf dem Bildschirm:
Dieser Commit wird Teil des Bereichs Push Origin in der oberen Symbolleiste: Wenn du keine Änderungen zu committen hast, gibt es auch eine Benachrichtigung, um deine Commits auf den Origin-Remote zu pushen:
Dies ist eine Ein-Klick-Lösung, um Änderungen an dein GitHub Repo zu übertragen. Der gesamte Workflow ist schnell, schmerzlos und einfach auszuführen.
Kinsta’s Anwendungshosting und GitHub nutzen
Wenn du ein Kinsta-Kunde bist, kannst du alle deine Anwendungen zu uns bringen. Mit unserem Anwendungs- und Datenbank-Hosting kannst du fast jede Anwendung in einer Reihe von Sprachen wie PHP, Node, Python und anderen einsetzen. Du verbindest dich mit GitHub, ohne dass du eine Vielzahl von Git-Befehlen verwenden musst.
Melde dich in deinem Kinsta-Dashboard an und navigiere zum Bildschirm Anwendungen. Beim ersten Zugriff sieht er noch kahl aus:
Wenn du jedoch auf die Schaltfläche Dienst hinzufügen klickst, hast du die Möglichkeit, entweder eine App oder eine Datenbank bereitzustellen. Für dieses Beispiel wählen wir die Anwendung:
Kinsta wird dich dann auffordern, dich mit GitHub zu verbinden, um Repos von der Plattform zu importieren:
Der folgende Assistent hilft dir, deine Anwendung einzurichten. Zuerst musst du ein Repos von GitHub auswählen und dann den Standardzweig bestimmen:
Außerdem musst du deiner Anwendung in MyKinsta einen Namen geben und ein Rechenzentrum auswählen. Wenn du auf Weiter klickst, musst du die Einstellungen für die Build-Umgebung anpassen:
Hier hast du mehrere Optionen:
- Wähle eine Build-Maschine aus der Liste aus.
- Erstelle ein Container-Image, entweder mit Hilfe der Automatisierung oder von einem bestimmten Pfad aus.
Danach musst du deine Ressourcen und Prozesse einrichten. Unsere Schnellstart-Beispiele enthalten die relevanten Webprozesse, die du brauchst, aber du kannst auch deine eigenen einrichten. Beachte, dass du so viele Prozesse einrichten kannst, wie es dein Budget zulässt:
Sobald du die monatlichen Nutzungskosten siehst, kannst du die Zahlung vornehmen. Jetzt kannst du das Anwendungs-Hosting mit GitHub-Integration nutzen. Es gibt noch viel mehr über das Anwendungs- und Datenbank-Hosting zu entdecken, und unsere Dokumentation ist umfassend und detailliert.
Zusammenfassung
GitHub ist ein unverzichtbares Werkzeug für Entwickler und Programmierer. Es bietet ein zentrales Repository, um Code zu speichern, zu verfolgen und gemeinsam daran zu arbeiten. Sobald du gelernt hast, wie du deinen Code von einem lokalen Repository zu GitHub pushen kannst, kannst du dich an der Zusammenarbeit beteiligen.
Über die Kommandozeile ist es ganz einfach, deinen Code auf GitHub zu pushen, und du brauchst nur eine Handvoll Befehle, sobald du alles eingerichtet hast. Vielleicht möchtest du aber auch eine spezielle GUI-Anwendung wie GitKraken oder GitHub Desktop verwenden. Damit kannst du die Befehlszeile ausschalten und fast alle Aufgaben, die du mit Git erledigen musst, über eine vertraute Oberfläche erledigen.
Darüber hinaus lässt sich GitHub hervorragend mit dem erstklassigen Anwendungs- und Datenbank-Hosting von Kinsta kombinieren. So kannst du dein GitHub-Repository an unser Netzwerk aus 25 Rechenzentren anbinden und eine Vielzahl verschiedener Frameworks unterstützen. Auch die ressourcenbasierte Preisgestaltung ist wettbewerbsfähig und für die meisten erschwinglich!
Hast du Fragen dazu, wie du auf GitHub pushen kannst? Frag einfach in den Kommentaren unten!
Schreibe einen Kommentar