GitHub unter Ubuntu nutzen: Vollständiger Leitfaden von Anfänger bis Fortgeschrittene mit Git, SSH und VS Code

1. Einführung

Warum Ubuntu mit GitHub verbinden?

In den letzten Jahren ist die Nutzung von Git und GitHub zu einer Standardpraxis in der Softwareentwicklung und Systemadministration geworden. Für Ingenieure und Programmierer, die in Linux-Umgebungen wie Ubuntu arbeiten, ist die Integration mit GitHub Teil des täglichen Workflows.

Git ist ein Tool zur Verwaltung der Versionsgeschichte von Quellcode und essenziell für eine effiziente Zusammenarbeit unter mehreren Entwicklern. GitHub hingegen ist ein Hosting-Dienst, der es ermöglicht, Git-verwaltete Repositories online zu teilen und zu veröffentlichen, und dient als globaler Hub für Entwickler, um Code auszutauschen.

Warum GitHub auf Ubuntu verwenden?

Ubuntu ist eine Linux-Distribution, die unter Entwicklern sehr beliebt ist und für ihre exzellente Kompatibilität mit Open-Source-Entwicklung bekannt ist. Sie bietet eine Umgebung, in der Git und andere Entwicklungstools leicht installiert werden können, was die GitHub-Integration reibungslos und effizient macht.

Typische Anwendungsfälle für die Kombination von Ubuntu und GitHub umfassen:

  • Verwalten und Teilen von Python-, C++- und anderem Quellcode auf GitHub
  • Beitrag zu Open-Source-Projekten
  • Veröffentlichen Ihrer Arbeit als Portfolio

Was Sie in diesem Artikel lernen

Dieser Leitfaden erklärt alles von der grundlegenden bis zur fortgeschrittenen GitHub-Nutzung auf Ubuntu durch die folgenden Schritte:

  • Wie man Git auf Ubuntu installiert
  • Erste Git-Konfiguration und SSH-Setup
  • Erstellen und Verwalten von GitHub-Repositories
  • Effiziente Entwicklung mit Visual Studio Code
  • Häufige Tipps zur Fehlerbehebung und FAQs

Sogar Erstnutzer von GitHub können sicher folgen, mit realen Befehlsbeispielen und wichtigen Hinweisen. Wenn Sie das Beste aus GitHub auf Ubuntu herausholen möchten, lesen Sie bis zum Ende weiter.

2. Installation von Git auf Ubuntu

Was ist Git? Ein kurzer Überblick

Git ist ein Versionskontrollsystem (VCS), das in der Softwareentwicklung verwendet wird, um die Änderungsgeschichte von Quellcode zu verwalten. Es ermöglicht Entwicklern, vorherige Zustände wiederherzustellen und gleichzeitig zusammenzuarbeiten.

Ein großer Vorteil von Linux-Umgebungen wie Ubuntu ist, wie einfach Git installiert werden kann. Mit der untenstehenden Methode kann die Installation innerhalb von Minuten über das Terminal abgeschlossen werden.

Installation von Git über APT

Der gängigste Weg, Git auf Ubuntu zu installieren, ist die Verwendung von APT (Advanced Package Tool). Folgen Sie diesen Schritten:

1. Aktualisieren der Paketliste

sudo apt update

Dieser Befehl ruft die neuesten Paketinformationen ab. Führen Sie ihn immer aus, bevor Sie neue Software installieren.

2. Installation von Git

sudo apt install git

Wenn Sie mit „Y/n“ aufgefordert werden, geben Sie y ein und drücken Sie Enter, um die Installation zu starten.

Überprüfen der Git-Installation

Nach der Installation bestätigen Sie, dass Git korrekt installiert ist:

git --version

Wenn Sie eine Ausgabe wie die folgende sehen, ist Git erfolgreich installiert:

git version 2.34.1

Die Versionsnummer kann je nach Ubuntu-Release variieren, aber jede Versionsausgabe bestätigt den Erfolg.

Installation über Snap (Optional)

Obwohl Git auch mit dem snap-Befehl installiert werden kann, ist APT im Allgemeinen stabiler und weiter verbreitet. Es sei denn, Sie haben einen spezifischen Grund, wird APT empfohlen.

3. Erste Git-Konfiguration

Essenzielle Einrichtung vor der Nutzung von Git

Sobald Git installiert ist, ist der nächste Schritt die Konfiguration von Benutzerinformationen und Authentifizierung. Eine ordnungsgemäße Konfiguration gewährleistet eine reibungslose Interaktion mit Remote-Repositories und Team-Workflows.

Festlegen von Git-Benutzername und E-Mail

Git protokolliert, wer jeden Commit vorgenommen hat. Daher müssen Sie einen Benutzernamen und eine E-Mail-Adresse konfigurieren.

Konfigurationsbefehle

git config --global user.name "Your Name"
git config --global user.email "you@example.com"

Diese Werte müssen nicht exakt mit Ihrem GitHub-Konto übereinstimmen, aber die Verwendung derselben E-Mail wie bei GitHub hilft, Commits korrekt zuzuordnen.

Überprüfen der Konfiguration

git config --list

Dieser Befehl zeigt Ihre aktuelle Git-Konfiguration an.

Generieren und Registrieren von SSH-Schlüsseln

Obwohl HTTPS unterstützt wird, eliminiert die SSH-Authentifizierung wiederholte Passwortabfragen und bietet einen sichereren und effizienteren Workflow.

1. SSH-Schlüssel generieren

ssh-keygen -t ed25519 -C "you@example.com"

Drücken Sie mehrmals Enter, um einen privaten Schlüssel (~/.ssh/id_ed25519) und einen öffentlichen Schlüssel (~/.ssh/id_ed25519.pub) zu generieren.

2. SSH-Agent starten und Schlüssel hinzufügen

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

Der SSH-Schlüssel ist nun einsatzbereit.

3. Den öffentlichen Schlüssel zu GitHub hinzufügen

Kopieren Sie den öffentlichen Schlüssel:

cat ~/.ssh/id_ed25519.pub

Registrieren Sie ihn dann auf GitHub:

  1. Melden Sie sich bei GitHub an
  2. Klicken Sie auf Ihr Profilbild → Einstellungen
  3. Wählen Sie „SSH- und GPG-Schlüssel“
  4. Klicken Sie auf „Neuer SSH-Schlüssel“, fügen Sie den Schlüssel ein und speichern Sie

4. SSH-Verbindung testen

ssh -T git@github.com

Geben Sie yes ein, wenn Sie aufgefordert werden, dem Host zu vertrauen.

Bei Erfolg sehen Sie:

Hi your-username! You've successfully authenticated, but GitHub does not provide shell access.

Empfohlene nächste Schritte

Mit dieser Einrichtung können Sie nun GitHub-Repositories klonen, pushen und pullen. Der nächste Abschnitt erklärt wie man GitHub-Repositories in der Praxis erstellt und betreibt.

4. Arbeiten mit GitHub-Repositories

Ein neues Repository auf GitHub erstellen

Melden Sie sich nach dem Login bei GitHub an und beginnen Sie mit der Erstellung eines neuen Repositories.

Schritte (über den Webbrowser)

  1. Klicken Sie auf die Schaltfläche „+“ in der oberen rechten Ecke der GitHub-Startseite und wählen Sie „Neues Repository“.
  2. Geben Sie die folgenden Informationen ein:
  • Repository-Name : Beispiel: my-first-repo
  • Beschreibung (optional) : Eine kurze Erklärung
  • Öffentlich / Privat : Wählen Sie die Sichtbarkeit des Repositories
  1. Klicken Sie auf „Repository erstellen“.

Nach der Erstellung wird die Repository-URL angezeigt. Sie verwenden diese URL, um das Repository zu klonen und zu verwalten.

Ein vorhandenes GitHub-Repository klonen

Um ein Repository in Ihre lokale Ubuntu-Umgebung zu kopieren, verwenden Sie den Befehl git clone.

git clone git@github.com:your-username/my-first-repo.git

Dieses Beispiel verwendet SSH. Bei HTTPS ist die URL anders.

Nach der Ausführung wird ein Verzeichnis namens my-first-repo erstellt, das die Repository-Dateien enthält.

Workflow für Dateiänderungen, Staging und Commit

1. Dateien hinzufügen oder bearbeiten

Erstellen Sie beispielsweise eine neue Datei:

echo "# My First GitHub Project" > README.md

2. Die Änderungen stagen

git add README.md

Staging wählt aus, welche Änderungen in den nächsten Commit aufgenommen werden.

3. Die Änderungen committen

git commit -m "Initial commit: add README.md"

Ihre Änderungen sind nun in der lokalen Repository-Historie gespeichert.

Änderungen zu GitHub pushen

Um lokale Änderungen im remote GitHub-Repository widerzuspiegeln, verwenden Sie git push.

git push origin main

Falls Ihr Standard-Branch nicht main ist (z. B. master), passen Sie den Branch-Namen entsprechend an.

Remote-Änderungen lokal pullen

Falls ein anderer Entwickler Änderungen vorgenommen hat, verwenden Sie den folgenden Befehl, um Ihr lokales Repository zu aktualisieren:

git pull origin main

Dies integriert remote Änderungen in Ihren lokalen Branch.

Häufige zusätzliche Operationen

  • Remote-Repositories überprüfen:
    git remote -v
    
  • Ein weiteres GitHub-Repository später hinzufügen:
    git remote add origin git@github.com:your-username/another-repo.git
    
  • Das Bearbeiten von README.md oder .gitignore folgt dem gleichen Workflow.

5. Integration mit Visual Studio Code

Warum VS Code ideal für Git-Operationen ist

Beim Einsatz von GitHub auf Ubuntu verbessert die Kombination mit Visual Studio Code (VS Code) die Produktivität erheblich. VS Code ist ein Open-Source-Editor von Microsoft und bekannt für seine exzellente Git-Integration. Es ermöglicht Commits, Pushes und Diff-Überprüfungen über eine GUI und ist somit anfängerfreundlich.

VS Code auf Ubuntu installieren

Sie können VS Code auf Ubuntu mit den folgenden Schritten einfach installieren.

1. Das Microsoft-Repository hinzufügen

.„` sudo apt update sudo apt install wget gpg wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg –dearmor > packages.microsoft.gpg sudo install -o root -g root -m 644 packages.microsoft.gpg /usr/share/keyrings/

#### 2. Repository registrieren

sudo sh -c ‚echo „deb [arch=amd64 signed-by=/usr/share/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/vscode stable main“ > /etc/apt/sources.list.d/vscode.list‘

#### 3. VS Code installieren

sudo apt update sudo apt install code

Nach der Installation können Sie VS Code starten, indem Sie `code` im Terminal eingeben.



### Integrierte Git‑Unterstützung



VS Code enthält standardmäßig eine Git‑Integration, sodass **keine zusätzlichen Plugins für grundlegende Git‑Operationen erforderlich sind**. Für erweiterte Anwendungsfälle werden die folgenden Erweiterungen empfohlen:



* **GitHub Pull Requests and Issues** – Ermöglicht die GUI‑basierte Verwaltung von Pull Requests und Issues.  
* **GitLens** – Visualisiert die Zeilen‑für‑Zeilen‑Historie und zeigt, wer was und wann geändert hat.



### Grundlegende Git‑Operationen in VS Code



#### Öffnen eines Repositorys



Navigieren Sie zu Ihrem geklonten Repository und führen Sie aus:

code .

#### Änderungen prüfen und committen



* Klicken Sie auf das Symbol „Quellcodeverwaltung“ in der linken Seitenleiste  
* Sehen Sie sich die Liste der geänderten Dateien an  
* Wählen Sie eine Datei, um die Diff‑Ansicht zu öffnen  
* Geben Sie eine Commit‑Nachricht ein und klicken Sie auf das ✓‑Symbol



#### Push‑ und Pull‑Operationen



* Wählen Sie „Push“ oder „Pull“ im „…“-Menü  
* Oder verwenden Sie die Statusleiste unten rechts



### Nutzung des integrierten Terminals



Das integrierte Terminal (`` Ctrl + ` ``) ermöglicht ein nahtloses Umschalten zwischen GUI‑ und CLI‑Workflows. Beispielsweise können Sie über die GUI committen und über das Terminal Branches verwalten.



### Fehlersuche‑Tipps



* Wenn SSH‑Fehler auftreten, prüfen Sie, ob VS Code den korrekten SSH‑Schlüssel verwendet  
* Möglicherweise müssen Sie die Authentifizierung neu konfigurieren oder ein **GitHub Personal Access Token (PAT)** verwenden



## 6. Häufige Fehlersituationen



### SSH‑Fehler: „Permission denied (publickey).“



#### Mögliche Ursachen



* SSH‑Schlüssel wurden nicht korrekt erzeugt  
* Der öffentliche Schlüssel ist nicht bei GitHub registriert  
* Der SSH‑Agent lädt den Schlüssel nicht



#### Lösungen



1. Prüfen Sie, ob bereits ein SSH‑Schlüssel existiert:

ls ~/.ssh/id_ed25519.pub

Falls nicht, erzeugen Sie einen:

ssh-keygen -t ed25519 -C „your_email@example.com“

2. Starten Sie den SSH‑Agent und fügen Sie den Schlüssel hinzu:

eval „$(ssh-agent -s)“ ssh-add ~/.ssh/id_ed25519

3. Fügen Sie den öffentlichen Schlüssel zu GitHub hinzu:

cat ~/.ssh/id_ed25519.pub

Fügen Sie ihn unter „SSH and GPG keys“ in Ihrem GitHub‑Konto ein.



4. Testen Sie die Verbindung:

ssh -T git@github.com

### Authentifizierungsfehler bei HTTPS



#### Ursache



* Passwort‑Authentifizierung ist veraltet; **Token‑basierte Authentifizierung ist erforderlich**



#### Lösung



1. Erstellen Sie ein Personal Access Token auf GitHub <https://github.com/settings/tokens> und aktivieren Sie beim Erstellen den `repo`‑Bereich  
2. Verwenden Sie Ihren GitHub‑Benutzernamen und das **Token** als Passwort  
3. Aktivieren Sie bei Bedarf das Caching von Anmeldedaten:

git config –global credential.helper cache

### Fehler: „fatal: not a git repository“



#### Ursache



* Das aktuelle Verzeichnis ist **kein Git‑Repository**



#### Lösung



* Wechseln Sie in ein vorhandenes Repository‑Verzeichnis:

cd ~/your-project-directory

* Oder initialisieren Sie ein neues Repository:

git init

### Umgang mit Merge‑Konflikten



#### Ursache



* Konflikte entstehen, wenn mehrere Benutzer gleichzeitig denselben Abschnitt einer Datei bearbeiten



#### Lösung



1. Öffnen Sie die konfliktbehaftete Datei nach einem `git pull`‑Fehler  
2. Suchen Sie nach Konflikt‑Markierungen:

<<<<<<< HEAD Your changes ======= Other changes

origin/main

3. Bearbeiten Sie den Inhalt, entfernen Sie die Markierungen und speichern Sie die Datei  
4. Führen Sie anschließend aus:

git add . git commit

### Fehler: „remote: Repository not found.“



#### Ursache



* Falsche Repository‑URL  
* Keine Zugriffsberechtigung für das Repository



#### Lösung



* Prüfen Sie die Remote‑URL:

git remote -v

* Setzen Sie die URL bei Bedarf zurück:

git remote set-url origin git@github.com:your-username/your-repo.git

Diese Probleme treten häufig bei Anfängern auf. Mit klaren Ursachen und Lösungen können sie jedoch ruhig gelöst werden. Betrachte Fehler als **Lernchancen** und baue nach und nach Vertrauen auf.



## 7. FAQ



### Q1. Was ist der Unterschied zwischen Git und GitHub?



**A:**  
Git ist ein **Versionskontrollwerkzeug**, das die Änderungshistorie lokal verwaltet. GitHub ist ein **Cloud‑Dienst**, der Git‑Repositories hostet und das Teilen sowie die Zusammenarbeit ermöglicht.



* Git: Lokale und offline Historienverwaltung
* GitHub: Online‑Repository‑Hosting und Zusammenarbeit



### Q2. Sollte ich SSH oder HTTPS verwenden?



**A:**  
**SSH wird empfohlen**, weil:



* Keine wiederholte Passworteingabe
* Langfristig sicherer und bequemer



Allerdings kann HTTPS in bestimmten Unternehmens- oder Netzwerkumgebungen erforderlich sein.



### Q3. Wie kann ich mehrere GitHub-Konten unter Ubuntu verwenden?



**A:**  
Erstelle separate SSH‑Schlüssel für jedes Konto und konfiguriere sie explizit.



1. Erstelle separate SSH‑Schlüssel. Beispiele: `~/.ssh/id_ed25519_work`, `~/.ssh/id_ed25519_personal`
2. Bearbeite `~/.ssh/config` :

Host github.com-work HostName github.com User git IdentityFile ~/.ssh/id_ed25519_work

Host github.com-personal HostName github.com User git IdentityFile ~/.ssh/id_ed25519_personal

3. Aktualisiere die Remote‑URL:

git remote set-url origin git@github.com-work:your-work-user/your-repo.git

### Q4. Kann ich Git mit einer GUI verwenden?



**A:**  
Ja. Visual Studio Code bietet GUI‑basierte Git‑Operationen, einschließlich Commits, Pushes, Diffs und Branch‑Verwaltung. Es wird Anfängern sehr empfohlen.



### Q5. Was passiert, wenn ich das Remote‑Repository lösche?



**A:**  
Das Löschen eines Remote‑Repositories hat keine Auswirkungen auf das lokale Repository. Allerdings wird `git push` fehlschlagen.



Du kannst dich wie folgt mit einem neuen Remote verbinden:

git remote set-url origin git@github.com:new-user/new-repo.git

### Q6. Ist es möglich, das Terminal vollständig zu vermeiden?



**A:**  
Ja. GUI‑Git‑Clients ermöglichen terminalfreie Arbeitsabläufe:



* **GitKraken**
* **Sourcetree** (nicht offiziell unter Linux unterstützt)
* **Visual Studio Code** (eingebaute Git‑Unterstützung)



Für Ubuntu‑Nutzer ist die Kombination **VS Code + GitLens** am praktischsten und benutzerfreundlichsten.



### Q7. Wie weit zurück kann die Git‑Historie reichen?



**A:**  
Git bewahrt **die gesamte Historie seit dem allerersten Commit** auf. Du kannst sie anzeigen mit:

git log

Um die Historie einer bestimmten Datei anzuzeigen:

git log path/to/file „`

年収訴求