Zum Inhalt springen

Git vs Github und Alternative Versionskontrollsysteme Deutsch

Versionskontrolle mit Git-Workflow, inklusive Repositories, Commits, Branches, Pull Requests und Code Collaboration. Zeigt verteiltes Versionskontrollsystem (DVCS) mit Remote- und lokalen Repositories, GitHub, GitLab und Bitbucket Logos.

Als Softwareentwickler oder IRC-DEV wirst Du an Tools wie zum Beispiel GIT oder gar GITHUB nicht vorbeikommen. Aber auch als normaler Endnutzer, wirst Du mit Diensten wie GitHub viel Spaß haben.

Inhaltsverzeichnis

Git, GitHub, GitLab und all die vielen anderen Dienste. Wo sind die Unterschiede?

Stell Dir Git wie Deinen persönliche Timemachine bzw. Backup-Manager vor.
Ähnlich wie Du in Deinem IRC-Client verschiedene Channels und Logs verwaltest, hilft Dir Git dabei, verschiedene Versionen Deines Codes zu speichern.

Du kannst jederzeit zu älteren Versionen zurückspringen, wenn Dein neuer IRC-Bot plötzlich /kick-Commands an alle User sendet, statt sie nur zu grüßen.

Github vs Git.

Was ist Github, welcher Unterschied besteht zu GIT?

GitHub hingegen ist wie eine riesige Bibliothek für Deinen und fremde Codes

Hier teilst Du Deine Progammcodes, IRC Codes, Skripte, Programme, Bots und Client-Mods mit anderen Entwicklern.
Sie können Deinen Code forken (kopieren), Verbesserungen vorschlagen und über Issues Bugs melden. quasi wie ein großer Dev-Channel, aber organisierter.

Die Verwirrung kommt oft daher, dass Git lokal auf Deinem Rechner läuft (wie Dein IRC-Client), während GitHub online ist (wie Dein IRC-Network).

GitHub ist aber nicht nur für Entwickler wichtig. Auf Github oder anderen Diensten findest tausende von fertigen Softwareprojekten wie IRC Bots, IRC-Services und viele andere Projekte, die in C,C# , Java, Javascript, Python geschrieben worden sind.

Brauche ich Git, wenn ich mit Github arbeiten möchte?

Du brauchst Git, um mit GitHub zu arbeiten, aber Du kannst Git auch ohne GitHub nutzen.

GitHub ist wie ein Online-Lagerhaus für Deinen Code, aber um Deine Dateien dorthin zu bekommen und zu verwalten, brauchst Du Git als Transportmittel und Verwaltungstool.

Hier ein praktisches Beispiel:

  • Du entwickelst lokal auf Deinem Rechner
  • Mit Git-Befehlen wie git add und git commit speicherst Du Deine Änderungen
  • Mit git push lädst Du diese dann zu GitHub hoch
  • Mit git pull holst Du Änderungen von GitHub auf Deinen Rechner

Ohne Git könntest Du:

  • Keine Dateien zu GitHub pushen
  • Keine Repositories klonen
  • Keine Branches erstellen
  • Keine Änderungshistorie verwalten

Du kannst zwar die GitHub-Webseite ohne Git nutzen, um:

  • Code anderer anzusehen
  • Issues zu erstellen
  • Kommentare zu schreiben
  • Dokumentation zu lesen

Aber für die eigentliche Entwicklungsarbeit und Code-Verwaltung ist Git unerlässlich. Es ist wie ein Auto – GitHub mag der Parkplatz sein, aber ohne Auto kommst Du nicht dorthin.

Die wichtigsten Alternativen zu Git und GitHub:
Alternative Code-Hosting-Plattformen

Versionskontrollsysteme (Alternativen zu Git):

  • Mercurial (Hg) – Ähnlich wie Git, aber einfacher zu lernen
  • Apache Subversion (SVN) – Zentralisiertes Versionskontrollsystem
  • Perforce Helix Core – Besonders für große Dateien und Teams
  • Fossil – Integriert Bugtracking und Wiki
  • Bazaar – Von Canonical entwickelt
  • IBM Rational ClearCase – Enterprise-Level-System

Code-Hosting-Plattformen (Alternativen zu GitHub):

  • GitLab – Self-hosting möglich, umfangreiche CI/CD-Features
  • Bitbucket – Von Atlassian, gute JIRA-Integration
  • Azure DevOps (ehemals Visual Studio Team Services) – Microsoft’s Lösung
  • SourceForge – Eine der ältesten Plattformen, Gerade bei IRC Oldies sehr bekannt.
  • Gitea – Leichtgewichtige self-hosted Alternative
  • AWS CodeCommit – Amazon’s Git-Service
  • Codeberg – Open Source, gemeinnützige Alternative

Self-Hosted Lösungen:

  • Gogs – Schnelle, einfache Git-Server-Lösung
  • Phabricator – Umfangreiches Entwicklungs-Toolkit
  • RhodeCode – Unterstützt Git, Mercurial und SVN
  • GitBucket – In Scala geschriebene GitHub-Alternative
  • Kallithea – Python-basierte Hosting-Lösung

Enterprise-Lösungen: Versionskontrollsysteme

  • CloudForge – Cloud-basierte Entwicklungsplattform
  • GitHub Enterprise
  • GitLab Enterprise
  • Bitbucket Server (ehemals Stash)
  • Gerrit – Code-Review-System von Google

Mit welchem dieser Dienste soll ich mich nun befassen ? Welche Versionskontrolle ist die beste?

Jeder Dienst hat seine Vor- und Nachteile. Am Ende entscheidet das Unternehmen, in dem Du tätig sein wirst, welche Versionskontrolle genutzt wird.

Du machst jedoch nichts falsch, wenn Du Dich mit Git und GitHub beschäftigst, da das Verhalten und die Methoden sich fast überall ähneln und Git/Github bei Entwickeln gut adaptiert wurden.

Wenn Du heute nach kostenloser, frei verfügbarer Software suchst, landest Du fast immer auf GitHub. Hier leben die meisten Open-Source-Projekte. Unternehmen nutzen Git auch clever für ihre Entwicklungsprozesse:
Sobald neue Code-Änderungen hochgeladen werden, laufen automatisch Tests und bei Erfolg wird die aktualisierte Software direkt auf die Server gespielt.

Wir beziehen unsere Software fast nur von GitHub, w.z. Froxlor, PsyBNC, viele Python-Bots usw.
Früher war es vermehrt SourceForge.

Wichtige Begriffe in Git & GitHub

Diese Begriffe helfen Dir, die Thematiken zu verstehen.

Repository

Ein Repository ist das Verzeichnis, in dem Dein Code und dessen Versionsgeschichte gespeichert wird. Es kann lokal oder remote auf einer Plattform wie GitHub liegen.

Commit

Ein Commit speichert Änderungen in einem Repository. Jeder Commit erhält eine eindeutige ID und eine Nachricht, die beschreibt, was geändert wurde.

Branch

Ein Branch ist eine alternative Entwicklungsrichtung innerhalb eines Repositories. In IRC wäre das so, als würdest Du mit zwei parallelen Chat-Fenstern arbeiten – eines für den Hauptchat (main branch) und eines für ein spezielles Thema (feature branch).

Pull Request

Ein Pull Request ist ein Vorschlag, Änderungen von einem Branch in einen anderen zu übernehmen. Stell Dir das vor wie eine Abstimmung im IRC-Channel, bei der Du um Zustimmung für eine Änderung bittest.

Code Collaboration

GitHub ermöglicht es mehreren Entwicklern, an einem Code gemeinsam zu arbeiten, ähnlich wie ein gemeinsamer Channel, in dem sich alle über Code-Änderungen austauschen können.

Source Code Management

Mit Git verwaltest Du den gesamten Verlauf Deines Codes. Jede Änderung kann nachvollzogen werden, wie ein vollständiges Chat-Log mit allen Nachrichten.

Open Source & DevOps

Viele Open-Source-Projekte nutzen GitHub als zentrale Plattform. In DevOps-Umgebungen wird Git oft für automatisierte Deployments und CI/CD-Pipelines verwendet.

GitHub Features

  • Issues: Fehler- und Aufgabenmanagement
  • Actions: Automatisierte Workflows (z. B. für Tests)
  • Wikis: Dokumentationen für Projekte
  • Discussions: Austausch zu Features und Ideen

Verteilte vs. zentrale Versionskontrolle

Git ist ein verteiltes Versionskontrollsystem (Distributed Version Control System, DVCS). Jeder Entwickler hat eine vollständige Kopie des Repositories, sodass Änderungen lokal vorgenommen und später synchronisiert werden können.

Das unterscheidet sich von zentralisierten Systemen wie SVN, wo alle Änderungen direkt am Server passieren. Stell Dir das so vor, als würdest Du entweder einen lokalen Chatlog haben (Git) oder alle Nachrichten nur im Channel-Log des IRC-Servers speichern (SVN).

Umfassende Git-Github Cheat-Sheet-Tabelle

Umfassende Git Cheat Sheet Tabelle - Deutsch

Git-BefehlBeschreibungHäufigkeit der VerwendungIn anderen VCS anwendbar?
git initErstellt ein neues Git-Repository⭐⭐⭐⭐⭐Nein
git clone Klonen eines bestehenden Repositories⭐⭐⭐⭐⭐Ja (Mercurial, SVN)
git statusZeigt den Status der Änderungen im Arbeitsverzeichnis⭐⭐⭐⭐⭐Nein
git add Stellt Dateien für den nächsten Commit bereit⭐⭐⭐⭐⭐Ja (SVN: add)
git commit -m ''Speichert Änderungen mit einer Nachricht⭐⭐⭐⭐⭐Ja (Mercurial, SVN)
git pushÜberträgt lokale Commits auf das Remote-Repository⭐⭐⭐⭐⭐Ja (Mercurial, SVN)
git pullHolt Änderungen vom Remote-Repository und führt sie zusammen⭐⭐⭐⭐⭐Ja (Mercurial, SVN)
git fetchHolt Änderungen vom Remote-Repository ohne Merge⭐⭐⭐⭐Ja (Mercurial)
git merge Führt einen Branch mit dem aktuellen Branch zusammen⭐⭐⭐⭐⭐Ja (Mercurial)
git rebase Reorganisiert Commits für eine saubere Historie⭐⭐⭐⭐Nein
git branchListet alle lokalen Branches auf⭐⭐⭐⭐⭐Ja (Mercurial)
git branch Erstellt einen neuen Branch⭐⭐⭐⭐⭐Ja (Mercurial)
git checkout Wechselt zu einem anderen Branch⭐⭐⭐⭐⭐Ja (SVN: switch)
git switch Alternative zu 'checkout'⭐⭐⭐⭐⭐Nein
git checkout -b Erstellt und wechselt zu einem neuen Branch⭐⭐⭐⭐Ja (Mercurial)
git reset --hard Setzt das Repository auf einen bestimmten Commit zurück⭐⭐⭐Nein
git reset --soft Setzt das Repository zurück, behält aber Änderungen⭐⭐⭐Nein
git revert Macht einen Commit rückgängig, ohne den Verlauf zu ändern⭐⭐⭐Ja (Mercurial)
git stashSpeichert aktuelle Änderungen temporär⭐⭐⭐Nein
git stash popHolt zuletzt gespeicherte Änderungen zurück⭐⭐⭐Nein
git logZeigt die Commit-Historie⭐⭐⭐⭐⭐Ja (Mercurial, SVN)
git log --oneline --graphKompakte und grafische Anzeige der Commits⭐⭐⭐⭐Nein
git diffZeigt Änderungen zwischen Arbeitsverzeichnis und letztem Commit⭐⭐⭐⭐Ja (Mercurial, SVN)
git blame Zeigt, wer welche Zeilen zuletzt geändert hat⭐⭐⭐Ja (Mercurial, SVN)
git remote -vListet verknüpfte Remote-Repositories auf⭐⭐⭐⭐Ja (Mercurial)
git remote add Fügt ein Remote-Repository hinzu⭐⭐⭐Ja (Mercurial)
git tag Erstellt ein Tag für einen bestimmten Commit⭐⭐⭐Ja (Mercurial, SVN)
git cherry-pick Wendet einen bestimmten Commit auf den aktuellen Branch an⭐⭐⭐Nein
git bisect startStartet die Fehlersuche mit Git Bisect⭐⭐Nein
git submodule add Fügt ein Submodul hinzu⭐⭐Ja (Mercurial)
git config --global user.name 'Name'Setzt den Git-Benutzernamen global⭐⭐⭐⭐Nein
git config --global user.email 'E-Mail'Setzt die Git-E-Mail-Adresse global⭐⭐⭐⭐Nein
git gcBereinigt das Repository und optimiert die Performance⭐⭐Nein
git fsckPrüft die Repository-Integrität auf Fehler⭐⭐Nein
Die Tabelle enthält:
Git-Befehl
Kurzbeschreibung
Häufigkeit der Verwendung (⭐⭐⭐⭐⭐ = sehr häufig, ⭐ = selten)
In anderen VCS verfügbar? (z. B. Mercurial, SVN)

Terminal-Nutzung von Git: Warum sie wichtig ist und welche Alternativen es gibt

Warum ist die Terminal-Nutzung von Git so wichtig?

Obwohl es zahlreiche GUI-Tools für Git gibt, bleibt die Nutzung des Terminals die effizienteste und flexibelste Methode, um mit Git zu arbeiten.
Die meisten Programmierer „enden“ im Terminal, da sie hier einfach schneller und effizienter sind.
Hier sind die Hauptgründe:

Volle Kontrolle
Im Terminal hast Du Zugriff auf alle Git-Befehle, während GUIs oft nur die gängigsten Funktionen abbilden.
Schnelligkeit
Viele Operationen lassen sich schneller mit ein paar Befehlen als durch Klicks in einer GUI ausführen.
Automatisierung
Skripte oder CI/CD-Pipelines setzen auf Git-Befehle – wer sie kennt, kann besser automatisieren.
Plattformunabhängigkeit
Egal ob Linux, macOS oder Windows, die Terminal-Nutzung ist überall gleich.
Fehlersuche
Bei Problemen mit Git ist das Terminal oft die einzige Möglichkeit, um präzise zu debuggen.

Terminal oder GUI?

Wie immer hängt es von Deinem Workflow ab:
Terminal: Für Entwickler, die volle Kontrolle wollen, schnell arbeiten müssen oder mit CI/CD und Automatisierung zu tun haben.
GUI: Für Anfänger, die Git erst verstehen wollen oder Entwickler, die visuelles Feedback brauchen.
IDE-Integration: Für Nutzer, die Git nur gelegentlich nutzen und es direkt in ihrer Entwicklungsumgebung verwenden möchten.

2. Alternativen zur Terminal-Nutzung von Git

Trotz der Vorteile des Terminals gibt es einige Alternativen, die für bestimmte Nutzergruppen attraktiv sein können:

2.1. Git-GUIs (Grafische Oberflächen für Git)

Es gibt verschiedene Git-Clients mit grafischer Benutzeroberfläche, die besonders für Anfänger oder Nutzer, die sich unwohl mit der Kommandozeile fühlen, hilfreich sind:

  • GitKraken – Visuell ansprechend mit gutem Branch-Management.
  • Sourcetree – Besonders gut für Bitbucket-Nutzer.
  • GitHub Desktop – Offizieller Client von GitHub mit einfacher Bedienung.
  • TortoiseGit – Windows-Explorer-Integration für Git.

Nachteile von Git-GUI:

  • Meist nicht so leistungsfähig wie das Terminal.
  • Bestimmte komplexe Tasks sind schwerer oder gar nicht möglich.
  • GUI-Clients können bei größeren Repos langsamer sein.

2.2. GIT IDE-Integration (Git in Entwicklungsumgebungen)

Viele IDEs haben eine eingebaute Git-Integration, um grundlegende Aufgaben zu erleichtern:

  • Visual Studio Code: Integrierte Git-Unterstützung mit einfachem Staging und Commits.
  • JetBrains IDEs (WebStorm, PyCharm, IntelliJ, Rider): Bieten visuelle Tools für Git-Diffs, Commits und Branch-Management.
  • Eclipse mit EGit: Git-Plugin für Eclipse-Nutzer.

Nachteile:

  • Auch hier sind nicht alle Git-Befehle verfügbar.
  • Die Oberfläche kann langsamer sein als die direkte Nutzung im Terminal.
    Visual Studio oder Code arbeitet generell viel mit Terminal oder Nuget-Paket-Manager Befehlen.
    Es kann sich lohnen diese vermehrt zu nutzen, um die Optionen zu kennen. Gerade Visual Studio Code benötigt viele Terminal-Befehle

Aber selbst wenn Du eine GUI benutzt, das Wissen über Git-Befehle im Terminal ist essenziell!
Sobald etwas schiefgeht oder ein Tool nicht alle Funktionen bietet, hilft Dir das Terminal aus der Patsche.

Warum wird SourceForge kaum noch genutzt?

Wie bereits erwähnt, kennen die alten Hasen unter uns noch Sourceforge als Nr.1.
SourceForge war früher eine der führenden Plattformen für Open-Source-Projekte, aber heute wird es kaum noch genutzt.
Hier sind die Hauptgründe dafür:

1. Dominanz von GitHub, GitLab & Bitbucket

Moderne Plattformen wie GitHub, GitLab und Bitbucket haben SourceForge weitgehend ersetzt. Sie bieten bessere Features, eine modernere UI und tiefere Integrationen mit DevOps-Tools.

2. Werbung und Malware-Skandale

SourceForge wurde berüchtigt für Aggressive Werbung und das Bündeln von Malware mit Installationsdateien. Das hat das Vertrauen vieler Entwickler zerstört.

3. Git-Unterstützung kam zu spät

SourceForge setzte lange auf Subversion (SVN) und CVS, während Git populärer wurde. GitHub und GitLab hatten von Anfang an einen Fokus auf Git, was sie attraktiver machte.

4. Langsame Entwicklung & UX-Probleme

Die Benutzeroberfläche von SourceForge ist veraltet und fühlt sich im Vergleich zu modernen Plattformen langsam und umständlich an.

5. Weniger Community & Netzwerk-Effekte

Die Open-Source-Community ist größtenteils auf GitHub und GitLab gewandert. Neue Projekte starten direkt dort, wodurch SourceForge kaum noch neue Nutzer gewinnt.

6. Open-Source-Projekte wechseln gezielt weg

Viele bekannte Open-Source-Projekte, die früher auf SourceForge gehostet wurden (z. B. GIMP, Notepad++), sind zu GitHub oder GitLab migriert, um bessere Wartung und Zusammenarbeit zu ermöglichen.

7. Weniger Integration mit modernen DevOps-Tools

Plattformen wie GitHub Actions und GitLab CI/CD bieten automatische Pipelines und CI/CD-Workflows. SourceForge kann hier nicht mithalten.

8. Open-Source-Kultur hat sich verändert

Früher waren Plattformen wie SourceForge einfach ein Speicherort für Code. Heute geht es um Kollaboration, Pull Requests, Issues, Code-Reviews und Continuous Integration, was GitHub & Co. besser unterstützen.

Was ist Subversion ? Darf man es mit Git vergleichen?

Vergleichen darf man es, da Subversion (SVN) ebenfalls wie Git ein Versionskontrollsystem ist , aber es gibt einige wichtige Unterschiede.

Git hat SVN in den letzten Jahren als Standard weitgehend abgelöst.
SVN wird aber noch in einigen etablierten Projekten verwendet, besonders wenn zentrale Kontrolle wichtig ist.
Allerdings liest man mittlerweile verhältnismäßig wenig über Subversion.

Subversion vs. Git

Subversion & Git : Grundlegende Konzepte

  • SVN ist ein zentralisiertes System – es gibt einen zentralen Server, der alle Versionen enthält
  • Git ist dezentral – jeder Entwickler hat eine vollständige Kopie der Historie
  • SVN verwendet fortlaufende Versionsnummern (1,2,3…), während Git Hashes verwendet

Subversion & Git : Praktische Unterschiede:

  • Bei SVN muss man für fast alle Operationen online sein und mit dem Server kommunizieren
  • Mit Git arbeitet man meist lokal und synchronisiert nur bei Bedarf
  • Branches sind in SVN eher schwerfällig (eigene Verzeichnisse), in Git sehr leichtgewichtig
  • Git ermöglicht komplexere Workflows durch einfaches Branching/Merging

Vorteile von SVN(SubVersion):

  • Einfacher zu verstehen für Einsteiger
  • Bessere Handhabung großer Binärdateien
  • Feingranulare Rechtevergabe auf Verzeichnisebene

Vorteile von Git:

  • Schnelleres Arbeiten durch lokale Operationen
  • Bessere Unterstützung für parallele Entwicklung
  • Robuster bei Netzwerkproblemen
  • Heute deutlich weiter verbreitet

FAQ Fragen und Antworten

Was macht der Befehl git clone <URL>?

Antwort:
Dieser Befehl erstellt eine lokale Kopie eines Remote-Repositories, inklusive aller Commits und Branches.

Wie setzt man einen Commit zurück?

Es gibt mehrere Möglichkeiten:
git reset --hard <Commit> → Setzt das Repository auf einen bestimmten Commit zurück und verwirft alle Änderungen.
git reset --soft <Commit> → Setzt das Repository zurück, behält aber die Änderungen.
git revert <Commit> → Macht einen Commit rückgängig, ohne den Verlauf zu ändern.

Was ist der Unterschied zwischen git merge und git rebase?

Antwort:
git merge führt Änderungen aus einem Branch in den aktuellen Branch zusammen, erstellt aber einen neuen Merge-Commit.
git rebase nimmt die Commits eines Branches und setzt sie auf einen neuen Basis-Commit, um eine saubere Historie zu behalten.

Wie kann ich eine Datei von Git ignorieren?

Indem Du die Datei in die .gitignore-Datei einträgst. Beispiel:

*.log

Dann mit git add .gitignore und git commit -m "Ignore Logfiles" speichern.

Wie kann ich einen Branch löschen?

Lokal: git branch -d <Branch-Name>
Remote: git push origin --delete <Branch-Name>

Was macht der Befehl git stash?

Er speichert ungespeicherte Änderungen temporär, sodass Du sie später wiederherstellen kannst, z. B. mit git stash pop.

Was ist der HEAD in Git?

Der HEAD zeigt auf den aktuellen Commit, auf dem sich Dein Branch gerade befindet.

Wie kann ich sehen, wer eine bestimmte Zeile in einer Datei zuletzt geändert hat?

Mit dem Befehl:

git blame <Datei>

Dieser zeigt für jede Zeile den letzten Commit und den Autor der Änderung.

Weiterführende GIT FAQ mit Fragen und Antworten:

Was ist Git und wofür wird es verwendet?

Git ist ein verteiltes Versionskontrollsystem, das Änderungen an Code verfolgt und Entwicklern hilft, effizient zusammenzuarbeiten.

Wie unterscheidet sich Git von GitHub?

Git ist das Versionskontrollsystem selbst, während GitHub eine Plattform für das Hosting und die Verwaltung von Git-Repositories ist.

Wie kann ich ein neues Repository mit Git erstellen?

Verwende den Befehl git init, um ein neues Repository zu initialisieren.

Wie kann ich ein bestehendes Repository klonen?

Nutze den Befehl git clone <URL>, um ein Repository lokal zu kopieren.

Wie kann ich Änderungen an Dateien verfolgen?

Nutze git add <Dateiname>, um Änderungen für den nächsten Commit vorzubereiten.

Wie speichere ich Änderungen in Git?

Verwende git commit -m "Nachricht", um Änderungen dauerhaft im Repository zu speichern.

Wie lade ich meine Änderungen zu GitHub hoch?

Nutze git push, um Deine Commits in das Remote-Repository hochzuladen.

Wie kann ich Änderungen von einem Remote-Repository abrufen?

Mit git pull kannst Du Änderungen von GitHub oder einem anderen Remote-Repository abrufen und integrieren.

Wie überprüfe ich den Status meines Repositories?

Verwende git status, um Änderungen und den aktuellen Zustand des Repositories zu sehen.

Wie erstelle ich einen neuen Branch?

Nutze git branch <Branch-Name>, um einen neuen Branch zu erstellen.

Wie wechsle ich zu einem anderen Branch?

Mit git checkout <Branch-Name> oder git switch <Branch-Name>.

FAQ Thema GitHub

Was ist GitHub?

GitHub ist eine Plattform zur Verwaltung von Git-Repositories, die Entwicklern Kollaboration, Code-Hosting und CI/CD-Tools bietet.

Wie erstelle ich ein neues Repository auf GitHub?

Melde Dich auf GitHub an, klicke auf das Plus-Symbol (+) oben rechts und wähle „New repository“. Danach gib einen Namen ein und erstelle das Repository.

Wie kann ich einen bestehenden Repository auf GitHub klonen?

Nutze den Befehl git clone <URL> im Terminal, um ein GitHub-Repository lokal zu klonen.

Wie kann ich Änderungen an ein GitHub-Repository pushen?

Nach einem Commit kannst Du die Änderungen mit git push origin <Branch-Name> in das Remote-Repository hochladen.

Wie funktioniert ein Pull Request auf GitHub?

Ein Pull Request (PR) ermöglicht es, Änderungen in einem Branch zur Überprüfung und Zusammenführung vorzuschlagen.

Wie kann ich GitHub Actions für CI/CD verwenden?

Erstelle eine .github/workflows/-Datei mit einem YAML-Skript, um Automatisierungen für Builds, Tests oder Deployments einzurichten.

Wie kann ich ein Repository auf GitHub löschen?

Gehe zu den Repository-Einstellungen, scrolle nach unten und klicke auf „Delete this repository“. Bestätige anschließend die Löschung.

Wie erstelle ich eine GitHub-Personal Access Token (PAT)?

Gehe zu GitHub → Einstellungen → Developer settings → Personal access tokens, erstelle ein neues Token und wähle die gewünschten Berechtigungen.

Kann ich private Repositories kostenlos auf GitHub erstellen?

Ja, GitHub bietet kostenlose private Repositories für Einzelpersonen und kleine Teams.

Gitlab FAQ : Häufige Fragen und Antworten

Was ist GitLab?

GitLab ist eine Plattform zur Versionskontrolle und DevOps-Integration, die Git-Repositories hostet und CI/CD-Funktionen bietet.

Wie erstelle ich ein neues Repository auf GitLab?

Melde Dich bei GitLab an, gehe zum Dashboard und klicke auf „New Project“, um ein neues Repository zu erstellen.

Wie kann ich ein GitLab-Repository klonen?

Nutze den Befehl git clone <URL>, um ein GitLab-Repository lokal zu klonen.

Wie pushe ich Änderungen in ein GitLab-Repository?

Nach einem Commit kannst Du die Änderungen mit git push origin <Branch-Name> in das Remote-Repository hochladen.

Wie erstelle ich eine Merge Request in GitLab?

Wechsle zum Repository, navigiere zum Branch, den Du mergen möchtest, und erstelle über „Merge Requests“ eine neue Anfrage.

Wie richte ich GitLab CI/CD ein?

Erstelle eine Datei namens .gitlab-ci.yml im Repository und definiere dort Pipelines, um Tests und Deployments zu automatisieren.

Wie kann ich ein GitLab-Repository löschen?

Gehe zu den Repository-Einstellungen, wähle „Advanced Settings“ und lösche das Repository mit „Delete project“.

Wie generiere ich ein GitLab Personal Access Token?

Gehe zu „User Settings“ → „Access Tokens“, erstelle ein neues Token und wähle die gewünschten Berechtigungen.

Kann ich private Repositories in GitLab kostenlos erstellen?

Ja, GitLab ermöglicht kostenlose private Repositories für Einzelpersonen und Teams.

Bitbucket FAQ, häufige Fragen und Antworten.

Was ist Bitbucket?

Bitbucket ist eine webbasierte Plattform für Git- und Mercurial-Repositories, die sich besonders für Teams mit Atlassian-Produkten wie Jira und Trello eignet.

Wie erstelle ich ein Repository in Bitbucket?

Melde Dich bei Bitbucket an, gehe zu „Create repository“ und gib einen Namen sowie weitere Details ein.

Wie klone ich ein Repository aus Bitbucket?

Nutze den Befehl git clone <URL>, um das Repository auf Dein lokales System zu kopieren.

Wie erstelle ich einen Pull Request in Bitbucket?

Navigiere zum Repository, erstelle einen neuen Branch, führe Deine Änderungen durch und öffne dann einen Pull Request im „Pull requests“-Tab.

Unterstützt Bitbucket CI/CD?

Ja, mit Bitbucket Pipelines kannst Du Continuous Integration und Deployment (CI/CD) direkt in Bitbucket konfigurieren.

Wie füge ich ein Teammitglied zu einem Bitbucket-Repository hinzu?

Gehe zu den Repository-Einstellungen, wähle „User and group access“ und lade das neue Mitglied per E-Mail ein.

Gibt es eine kostenlose Version von Bitbucket?

Ja, Bitbucket bietet eine kostenlose Version für kleine Teams mit bis zu 5 Benutzern und unbegrenzten privaten Repositories.

Häufige Fragen und Antworten zu Mercurial – FAQ

Was ist Mercurial?

Mercurial ist ein verteiltes Versionskontrollsystem (VCS), das für seine Geschwindigkeit, Effizienz und einfache Bedienung bekannt ist.

Wie erstelle ich ein Mercurial-Repository?

Verwende den Befehl hg init, um ein neues Mercurial-Repository zu erstellen.

Wie klone ich ein bestehendes Repository mit Mercurial?

Nutze den Befehl hg clone <URL>, um ein Repository auf Dein lokales System zu kopieren.

Wie kann ich Änderungen in Mercurial speichern?

Führe hg commit -m "Nachricht" aus, um Änderungen im lokalen Repository zu speichern.

Wie übertrage ich Änderungen auf ein Remote-Repository?

Nutze hg push, um Commits zu einem Remote-Repository zu senden.

Wie kann ich Änderungen von einem Remote-Repository abrufen?

Mit hg pull kannst Du Änderungen aus einem Remote-Repository abrufen, sie aber noch nicht automatisch mergen.

Wie überprüfe ich den Status meines Mercurial-Repositories?

Verwende hg status, um nicht committete Änderungen anzuzeigen.

Wie kann ich einen bestimmten früheren Stand meines Projekts wiederherstellen?

Mit hg update -r <Revisionsnummer> kannst Du Dein Repository auf eine bestimmte Revision zurücksetzen.

Häufige Fragen und Antworten zu Azure DevOps – FAQ

Was ist Azure DevOps?

Azure DevOps ist eine von Microsoft bereitgestellte Plattform für die Softwareentwicklung mit Funktionen für Versionskontrolle, CI/CD und Projektmanagement.

Wie unterstützt Azure DevOps Git?

Azure DevOps bietet eine vollständige Git-Integration und ermöglicht es Teams, Repositories zu verwalten, Branches zu nutzen und Code Reviews durchzuführen.

Gibt es eine Alternative zu Git in Azure DevOps?

Ja, Azure DevOps unterstützt neben Git auch TFVC (Team Foundation Version Control), ein zentralisiertes Versionskontrollsystem.

Wie erstelle ich ein Git-Repository in Azure DevOps?

Gehe zu Azure DevOps, wähle ein Projekt aus und erstelle unter „Repos“ ein neues Git-Repository.

Wie kann ich Azure DevOps Repositories mit Git klonen?

Nutze den Befehl git clone <URL> mit der Repository-URL aus Azure DevOps.

Wie erstelle ich eine Pull Request in Azure DevOps?

Navigiere zum Repository, erstelle eine neue Pull Request unter „Repos > Pull Requests“ und wähle die Branches für den Merge aus.

Wie richte ich CI/CD für ein Git-Repository in Azure DevOps ein?

Erstelle eine neue Pipeline unter „Pipelines > New Pipeline“ und wähle das Git-Repository als Quelle aus.

Kann ich GitHub mit Azure DevOps verbinden?

Ja, GitHub-Repositories können in Azure DevOps integriert und für Builds, Tests und Deployments genutzt werden.

AWS CodeCommit – Amazon’s Git-Service FAQ und HowTo:

Was ist AWS CodeCommit?

AWS CodeCommit ist ein vollständig verwalteter Git-Hosting-Service von Amazon Web Services, der Entwicklern ermöglicht, ihren Code sicher in AWS zu speichern und zu verwalten.

Wie erstelle ich ein neues Repository in AWS CodeCommit?

Folge diesen Schritten:

  1. Melde Dich bei der AWS Management Console an.
  2. Gehe zu CodeCommit im AWS-Service-Menü.
  3. Klicke auf Create Repository.
  4. Gib einen eindeutigen Namen und eine optionale Beschreibung für das Repository ein.
  5. Klicke auf Create, um das Repository zu erstellen.
Wie klone ich ein AWS CodeCommit Repository?

Nutze diese Schritte:

  1. Öffne das AWS CodeCommit Repository und kopiere die Repository-URL.
  2. Falls Du AWS CLI nutzt, stelle sicher, dass Du mit aws configure Deine Anmeldeinformationen eingerichtet hast.
  3. Verwende den Befehl git clone <Repository-URL> im Terminal, um das Repository lokal zu klonen.
Wie pushe ich Code zu AWS CodeCommit?

Befolge diese Anweisungen:

  1. Füge die Datei(en) hinzu: git add .
  2. Erstelle einen Commit: git commit -m "Mein erster Commit"
  3. Push die Änderungen: git push origin main

Stelle sicher, dass Deine AWS-Zugangsdaten konfiguriert sind, um auf das Repository zugreifen zu können.

Wie richte ich AWS CodeCommit für HTTPS-Zugriff ein?

Falls Du keine SSH-Keys nutzen möchtest, kannst Du HTTPS für den Zugriff auf AWS CodeCommit konfigurieren:

  1. Erstelle ein AWS IAM-Benutzerkonto mit CodeCommit-Zugriff.
  2. Generiere ein persönliches HTTPS-Passwort über die IAM-Konsole.
  3. Nutze den folgenden Befehl, um das Repository zu klonen:
    git clone https://git-codecommit.<region>.amazonaws.com/v1/repos/<repository-name>
  4. Gib Deinen AWS IAM-Benutzernamen und das generierte Passwort ein, wenn Du dazu aufgefordert wirst.

FAQ : Github, Commit, Push, DVCS Versionskontrolle

Was sind die Hauptfunktionen von GitHub?

GitHub bietet Code-Hosting, Issue-Tracking, Code Reviews, Pull Requests, Actions für CI/CD und Wiki-Dokumentation.

Wie unterscheidet sich ein Commit von einem Push?

Ein Commit speichert Änderungen lokal, während ein Push die Commits auf ein Remote Repository überträgt.

Wie kann ich einen Branch erstellen und wechseln?

Mit git branch branch-name erstellst Du einen neuen Branch, mit git checkout branch-name oder git switch branch-name wechselst Du zu diesem.

Wie kann ich Änderungen in einem Branch zusammenführen?

Verwende git merge branch-name, um Änderungen aus einem Branch in den aktuellen Branch zu integrieren.

Was ist der Unterschied zwischen einem Remote Repository und einem lokalen Repository?

Ein lokales Repository existiert nur auf Deinem Computer, während ein Remote Repository auf einem Server wie GitHub, GitLab oder Bitbucket gehostet wird.

Wie funktioniert Code Versioning in Git?

Code Versioning in Git erfolgt durch Snapshots von Dateien, die als Commits gespeichert werden, wodurch eine vollständige Historie der Änderungen erhalten bleibt.

Was sind die Vorteile eines verteilten Versionskontrollsystems (DVCS)?

Ein DVCS wie Git ermöglicht es Entwicklern, unabhängig und offline zu arbeiten, während Änderungen später mit einem Remote Repository synchronisiert werden können.

Hier sind einige wichtige Ressourcen zum Thema Versionskontrolle und verwandten Konzepten:
  • Einführung in die Versionskontrolle: Ein umfassender Überblick über die Grundlagen der Versionskontrolle und ihre Bedeutung in der Softwareentwicklung. atlassian.com
  • Was ist Git?: Eine Einführung in Git, ein verteiltes Versionskontrollsystem, das von vielen Entwicklungsteams weltweit verwendet wird. git-scm.com
  • GitHub Dokumentation: Offizielle Dokumentation von GitHub mit Anleitungen und Best Practices für die Nutzung der Plattform.
  • GitLab Offizielle Website: Informationen und Ressourcen zu GitLab, einer Plattform für Repository-Management und DevOps.
  • Einführung in Git und GitHub: Ein Tutorial, das die Grundlagen von Git und GitHub sowie deren Anwendung in Projekten behandelt. ourcodingclub.github.io