Git & Versionskontrolle einfach erklärt | Grundlagen
Web-Entwicklung Grundlagen

Git & Versionskontrolle

Änderungen nachvollziehen, sicher experimentieren und gemeinsam an Code arbeiten – verständlich erklärt und direkt zum Ausprobieren.

Für Einsteiger Commits & Branches Teamarbeit Praxis-Befehle

🛠️ Empfohlene Tools für Entwickler

Diese Tools nutze ich selbst – sie helfen Ihnen, Ihre Projekte professionell umzusetzen und zu vermarkten.

⚡ ExeOutput for PHP

PHP-Anwendungen in eigenständige Windows-EXE-Dateien kompilieren – ideal für die Auslieferung Ihrer Web-Anwendungen.

Jetzt ansehen →

📄 HTML Executable

HTML-Dateien und Websites als eigenständige Windows-EXE-Dateien kompilieren – perfekt für Offline-Distribution.

Jetzt ansehen →

🔒 XLS Padlock

Excel-Arbeitsmappen als EXE kompilieren und schützen – ideal für datenbank-gestützte Excel-Lösungen.

Jetzt ansehen →

🐍 VBA Padlock

VBA-Code kompilieren und Office-Lösungen verkaufen – ohne Source-Code-Weitergabe.

Jetzt ansehen →

📦 Paquet Builder

Professionelle Windows-Installationsprogramme für Ihre Anwendungen erstellen.

Jetzt ansehen →

* Affiliate-Links: Bei einem Kauf über diese Links erhalten wir eine kleine Provision – für Sie entstehen keine zusätzlichen Kosten.

1. Was ist Git?

Git ist ein verteiltes Versionskontrollsystem. Es speichert nachvollziehbare Zwischenstände eines Projekts, sodass Änderungen verglichen, gemeinsam bearbeitet und bei Bedarf gezielt zurückgenommen werden können.

Versionsgeschichte

Jeder Commit dokumentiert einen ausgewählten Projektstand mit Autor, Zeitpunkt und kurzer Nachricht.

Sicher experimentieren

Branches ermöglichen neue Funktionen oder Tests, ohne den stabilen Hauptstand sofort zu verändern.

Zusammenarbeiten

Mehrere Personen können Änderungen austauschen, prüfen und kontrolliert zusammenführen.

Vergleich mit einer Zeitmaschine: Ein normal gespeichertes Dokument zeigt hauptsächlich den aktuellen Stand. Git ergänzt eine strukturierte Geschichte wichtiger Zwischenstände und macht sichtbar, was sich zwischen ihnen geändert hat.

Was Git nicht automatisch erledigt

  • Git entscheidet nicht selbst, welche Änderungen fachlich richtig sind.
  • Ein Commit entsteht erst, wenn Änderungen bewusst ausgewählt und gespeichert werden.
  • Ein lokales Repository ist noch kein externes Backup.
  • Große Binärdateien und Zugangsdaten gehören nicht einfach in die Versionsgeschichte.

2. Git, GitHub und GitLab – der Unterschied

Git und Hosting-Plattformen werden häufig verwechselt. Sie erfüllen jedoch verschiedene Aufgaben.

Git

Das Versionskontrollsystem, das auf dem eigenen Computer arbeitet. Es verwaltet Commits, Branches und die Projektgeschichte.

Git-Plattform

Ein Dienst, der Git-Repositories auf einem entfernten Server bereitstellt und zusätzliche Funktionen für Zusammenarbeit anbietet.

Pull oder Merge Request

Ein geregelter Vorschlag, Änderungen aus einem Branch zu prüfen, zu diskutieren und anschließend zusammenzuführen.

Merke: Git funktioniert auch ohne GitHub oder GitLab. Eine Plattform wird erst benötigt, wenn das Repository zentral erreichbar sein oder Zusammenarbeit, Code-Review und Automatisierung erleichtert werden sollen.

3. Die vier Arbeitsbereiche

Der Git-Ablauf wird verständlicher, wenn du die Bereiche kennst, zwischen denen Änderungen bewegt werden.

1ArbeitsverzeichnisDateien bearbeiten
2Staging AreaÄnderungen auswählen
3Lokales RepositoryCommit speichern
4Remote-RepositoryCommits austauschen
Bereich Bedeutung Typische Befehle
ArbeitsverzeichnisAktuell sichtbare und bearbeitete Dateien.git status, git diff
Staging AreaBewusst für den nächsten Commit ausgewählte Änderungen.git add, git restore --staged
Lokales RepositoryAuf dem eigenen Computer gespeicherte Commits.git commit, git log
Remote-RepositoryEntfernte Kopie für Austausch und Zusammenarbeit.git fetch, git pull, git push
Wichtiges Prinzip: git add erstellt noch keinen dauerhaften Commit, und git commit überträgt noch nichts auf einen entfernten Server. Erst git push veröffentlicht lokale Commits im verbundenen Remote-Repository.

4. Installation prüfen und Git einrichten

Nach der Installation solltest du zuerst prüfen, ob Git im Terminal verfügbar ist. Anschließend werden Name und E-Mail-Adresse für neue Commits festgelegt.

TerminalVersion prüfen
git --version
TerminalGrundkonfiguration
git config --global user.name "Vorname Nachname"
git config --global user.email "name@example.de"

# Konfiguration kontrollieren
git config --global --list

Die Option --global gilt für alle Repositorys dieses Benutzerkontos. Ohne diese Option kann eine abweichende Einstellung nur für das aktuelle Repository gesetzt werden.

Datenschutz: Die Commit-E-Mail kann in einer veröffentlichten Projektgeschichte sichtbar werden. Verwende deshalb eine Adresse, die für diesen Zweck vorgesehen ist, oder eine von der gewählten Plattform angebotene Datenschutzadresse.

5. Repository erstellen oder klonen

Variante A: vorhandenen Projektordner initialisieren

TerminalNeues Repository
cd mein-projekt
git init
git status
git add .
git commit -m "Projektgrundlage anlegen"
git branch -M main

git init richtet im aktuellen Ordner ein lokales Repository ein. Vor git add . sollte mit git status und git diff kontrolliert werden, welche Dateien aufgenommen werden.

Variante B: vorhandenes Repository klonen

TerminalRepository kopieren
git clone https://example.com/team/mein-projekt.git
cd mein-projekt
git status

git clone lädt Dateien, Commit-Geschichte und Remote-Verbindung. Die Beispieladresse muss durch die echte HTTPS- oder SSH-Adresse des Repositorys ersetzt werden.

Nicht doppelt initialisieren: Ein geklontes Projekt ist bereits ein Git-Repository. Darin ist kein zusätzliches git init erforderlich.

6. Der tägliche Git-Arbeitsablauf

Ein sauberer Ablauf besteht aus Prüfen, Auswählen, Kontrollieren, Committen und anschließendem Austauschen mit dem Remote-Repository.

  1. 1
    Status prüfengit status zeigt neue, veränderte und bereits vorgemerkte Dateien.
  2. 2
    Änderungen vergleichengit diff zeigt noch nicht vorgemerkte Unterschiede.
  3. 3
    Gezielt stagengit add datei.html nimmt eine passende Änderung in die Staging Area auf.
  4. 4
    Staging Area kontrollierengit diff --staged zeigt genau den Inhalt des nächsten Commits.
  5. 5
    Commit erstellengit commit -m "Navigation mobil optimieren" speichert den ausgewählten Stand lokal.
  6. 6
    Commits austauschenErst aktuelle Remote-Änderungen integrieren und anschließend mit git push veröffentlichen.
TerminalTäglicher Ablauf
git status
git diff
git add index.html css/style.css
git diff --staged
git commit -m "Startseite responsiv optimieren"
git pull --ff-only
git push
Besser gezielt stagen: git add . ist bequem, kann aber unbeabsichtigt Testdateien oder sensible Konfigurationen einschließen. Bei wichtigen Änderungen ist die explizite Angabe der Dateien übersichtlicher.

7. Branches und Zusammenführen

Ein Branch ist eine bewegliche Entwicklungslinie. Neue Funktionen können dort entstehen, während der Hauptbranch stabil bleibt.

Feature-Branch erstellen und zusammenführen

TerminalBranch-Workflow
# Neuen Branch erstellen und direkt wechseln
git switch -c feature/kontaktformular

# Änderungen bearbeiten, prüfen und committen
git status
git add kontakt.html js/formular.js
git commit -m "Kontaktformular validieren"

# Hauptbranch aktualisieren und Feature zusammenführen
git switch main
git pull --ff-only
git merge feature/kontaktformular
git push

# Nicht mehr benötigten lokalen Branch entfernen
git branch -d feature/kontaktformular
BefehlAufgabe
git branchLokale Branches anzeigen.
git switch nameZu einem vorhandenen Branch wechseln.
git switch -c nameNeuen Branch erstellen und direkt wechseln.
git merge nameDen angegebenen Branch in den aktuellen Branch zusammenführen.
git branch -d nameEinen bereits zusammengeführten lokalen Branch löschen.
Vor dem Wechsel: Prüfe mit git status, ob offene Änderungen vorhanden sind. Committe sie sinnvoll, stage sie gezielt oder sichere sie bewusst, bevor du den Branch wechselst.

8. Remote-Repository und Zusammenarbeit

Ein Remote ist eine benannte Verbindung zu einem entfernten Repository. Der häufig verwendete Standardname lautet origin, ist aber technisch frei wählbar.

TerminalRemote verwalten
# Verbindungen anzeigen
git remote -v

# Remote zu einem lokalen Repository hinzufügen
git remote add origin https://example.com/team/mein-projekt.git

# Hauptbranch erstmalig übertragen und verknüpfen
git push -u origin main

Fetch, Pull und Push unterscheiden

git fetch

Lädt Informationen und Commits vom Remote, verändert den aktuellen Arbeitsstand aber nicht automatisch.

git pull

Holt Remote-Änderungen und integriert sie gemäß der gewählten Pull-Strategie in den aktuellen Branch.

git push

Überträgt lokale Commits in den zugeordneten Branch des Remote-Repositorys.

Ein einfacher Teamablauf

  1. 1
    Aktuellen Stand holenVor Arbeitsbeginn den relevanten Branch aktualisieren.
  2. 2
    Feature-Branch erstellenEine Aufgabe in einer getrennten Entwicklungslinie bearbeiten.
  3. 3
    Kleine Commits erstellenZusammengehörige Änderungen mit verständlichen Nachrichten speichern.
  4. 4
    Branch pushenDen Feature-Branch zum Remote-Repository übertragen.
  5. 5
    Änderungen prüfen lassenPull beziehungsweise Merge Request erstellen und Rückmeldungen bearbeiten.
Teamregel: Das Team sollte sich auf Branchnamen, Commit-Stil, Pull-Strategie und Review-Ablauf einigen. Einheitliche Regeln verhindern viele unnötige Konflikte.

9. .gitignore und sensible Daten

Die Datei .gitignore legt fest, welche noch nicht verfolgten Dateien oder Ordner Git normalerweise ignorieren soll. Typische Beispiele sind Abhängigkeiten, temporäre Dateien, Build-Ausgaben und lokale Konfigurationen.

.gitignoreBeispiel
# Abhängigkeiten
node_modules/

# Build-Ausgaben
dist/
build/

# Lokale Umgebungsvariablen
.env
.env.local

# Protokolle und Editor-Einstellungen
*.log
.idea/
.vscode/
Keine Geheimnisse committen: Passwörter, API-Schlüssel, private Zertifikate und echte Zugangsdaten gehören nicht in ein Repository. Wird ein Schlüssel versehentlich veröffentlicht, muss er umgehend gesperrt beziehungsweise ersetzt werden. Das spätere Löschen der Datei beseitigt ihn nicht automatisch aus der bisherigen Git-Geschichte.

Bereits verfolgte Datei ignorieren

Wurde eine harmlose Datei bereits committet, reicht ein neuer Eintrag in .gitignore nicht aus. Sie kann aus der Git-Verfolgung entfernt werden, ohne die lokale Datei zu löschen:

TerminalTracking beenden
git rm --cached pfad/zur/datei
git commit -m "Lokale Konfiguration nicht mehr versionieren"

10. Merge-Konflikte verstehen und lösen

Ein Konflikt entsteht, wenn Git verschiedene Änderungen nicht eindeutig automatisch zusammenführen kann. Das ist kein Defekt, sondern eine Aufforderung zur fachlichen Entscheidung.

So kann ein Konflikt in einer Datei aussehen

index.htmlKonflikt
<<<<<<< HEAD
<h1>Willkommen bei Digitale Start-Hilfe</h1>
=======
<h1>Professionelle Web-Entwicklung</h1>
>>>>>>> feature/neue-headline
  1. 1
    Konflikte anzeigengit status nennt die betroffenen Dateien.
  2. 2
    Inhalt fachlich entscheidenKonfliktmarkierungen entfernen und die gewünschte Endfassung schreiben.
  3. 3
    Ergebnis testenSeite oder Anwendung ausführen und die zusammengeführte Änderung prüfen.
  4. 4
    Lösung stagenDie bereinigten Dateien mit git add als gelöst markieren.
  5. 5
    Vorgang abschließenJe nach Ausgangsvorgang Merge oder Rebase fortsetzen beziehungsweise committen.
TerminalNach der Bearbeitung
git status
git add index.html
git commit
Nicht blind auswählen: Bei einem Konflikt sind „unsere“ oder „deren“ Änderungen nicht automatisch vollständig richtig. Oft muss aus beiden Seiten eine gemeinsame, getestete Endfassung entstehen.

11. Änderungen sicher rückgängig machen

Der richtige Befehl hängt davon ab, ob eine Änderung nur im Arbeitsverzeichnis liegt, bereits gestaged, lokal committet oder schon veröffentlicht wurde.

Vor jedem Rückgängig-Befehl zuerst git status und bei Bedarf git diff prüfen.
Situation Geeigneter Befehl Wirkung
Datei ist verändert, aber nicht gestagedgit restore datei.htmlVerwirft die nicht committete Änderung dieser Datei.
Datei wurde versehentlich gestagedgit restore --staged datei.htmlNimmt die Datei aus der Staging Area; die Bearbeitung bleibt erhalten.
Letzte Commit-Nachricht ist falsch und noch nicht geteiltgit commit --amend -m "Neue Nachricht"Ersetzt den letzten lokalen Commit.
Veröffentlichter Commit soll neutralisiert werdengit revert COMMIT-IDErstellt einen neuen Gegen-Commit und bewahrt die Geschichte.
Neue, nicht verfolgte Datei wird nicht gebrauchtManuell prüfen und löschenGit schützt unversionierte Dateien nicht automatisch.
Vorsicht bei destruktiven Befehlen: Befehle wie git reset --hard oder git clean -fd können nicht gesicherte Arbeit unwiederbringlich entfernen. Nutze sie nicht, solange Ziel, Auswirkungen und Sicherung nicht eindeutig geklärt sind.
Teamfreundlich: Für bereits veröffentlichte Commits ist git revert häufig die nachvollziehbarere Wahl, weil keine gemeinsam verwendete Geschichte umgeschrieben wird.

12. Stashing – Änderungen zwischenspeichern

Stashing erlaubt es, unfertige Änderungen zwischenzuspeichern, ohne sie zu committen. Das ist praktisch, wenn du schnell den Branch wechseln musst.

TerminalStashing
# Aktuelle Änderungen zwischenspeichern
git stash

# Stash-Liste anzeigen
git stash list

# Letzten Stash wieder anwenden und entfernen
git stash pop

# Letzten Stash anwenden (behalten)
git stash apply

# Stash mit Beschreibung
git stash push -m "Navigation in Arbeit"

🎯 Live-Demo: Stashing simulieren

Simuliere das Zwischenspeichern von Änderungen:

Klick auf einen Button...
Tipp: git stash push -m "Beschreibung" hilft, mehrere Stashes voneinander zu unterscheiden.

13. Tags – Versionen markieren

Tags sind feste Markierungen für bestimmte Commits. Sie werden oft verwendet, um Release-Versionen (v1.0, v2.0) zu kennzeichnen.

TerminalTags verwalten
# Leichten Tag erstellen (nur Name)
git tag v1.0.0

# Annotierten Tag mit Nachricht
git tag -a v1.0.0 -m "Release Version 1.0.0"

# Tags anzeigen
git tag

# Tag zu Remote übertragen
git push origin v1.0.0

# Alle Tags übertragen
git push --tags
Tag-Typ Beschreibung Befehl
Leichter Tag Nur ein Name, ohne Zusatzinformationen git tag name
Annotierter Tag Mit Nachricht, Datum und Autor git tag -a name -m "Nachricht"

🎯 Live-Demo: Tags simulieren

Simuliere das Erstellen von Versionstags:

Klick auf einen Button...

14. Rebase vs. Merge

Beide Befehle integrieren Änderungen, aber auf unterschiedliche Weise. Merge erstellt einen Merge-Commit, während Rebase die Commit-Historie umschreibt.

Merge

Erstellt einen neuen Merge-Commit, der beide Entwicklungslinien verbindet. Die Historie bleibt erhalten.

Vorteil: Nachvollziehbar, sicher für gemeinsam genutzte Branches.

Nachteil: Kann die Historie unübersichtlich machen.

Rebase

Schreibt die Commits eines Branches neu und platziert sie auf die Spitze eines anderen Branches.

Vorteil: Saubere, lineare Historie.

Nachteil: Kann bei gemeinsam genutzten Branches zu Problemen führen.

TerminalVergleich
# Merge (behält Historie)
git checkout main
git merge feature-branch

# Rebase (schreibt Historie um)
git checkout feature-branch
git rebase main
git checkout main
git merge feature-branch
Rebase-Regel: Verwende Rebase nicht auf Branches, die bereits mit anderen geteilt wurden. rebase verändert Commit-Hashes und kann bei anderen Entwicklern zu Konflikten führen.

🎯 Live-Demo: Rebase vs. Merge

Wähle eine Methode und simuliere den Ablauf:

Klick auf einen Button...

15. Git-Hooks – Automatisierung

Git-Hooks sind Skripte, die bei bestimmten Git-Ereignissen automatisch ausgeführt werden. Sie können beispielsweise Tests vor dem Commit ausführen oder Nachrichten-Formate prüfen.

.git/hooks/Beispiel-Hooks
# pre-commit – Läuft vor dem Commit
#!/bin/sh
# Führt Tests aus, bevor der Commit erstellt wird
npm test

# commit-msg – Prüft Commit-Nachricht
#!/bin/sh
# Stellt sicher, dass die Commit-Nachricht ein bestimmtes Format hat
grep -q "^(feat|fix|docs|style|refactor|test|chore)" $1
Hook Ausführungszeitpunkt Typische Verwendung
pre-commit Vor dem Commit Tests ausführen, Code-Formatierung prüfen
commit-msg Nach Eingabe der Commit-Nachricht Commit-Nachricht auf Format prüfen
pre-push Vor dem Push Tests ausführen, Build prüfen
post-commit Nach dem Commit Benachrichtigungen senden
post-receive Nach Empfang auf Server Deployment auslösen
Tipp: Hooks sind lokal und werden nicht mit dem Repository geteilt. Für teamweite Hooks gibt es Tools wie Husky (JavaScript) oder pre-commit (Python).

16. Submodule – externe Repositories einbinden

Submodule ermöglichen es, ein anderes Git-Repository als Unterverzeichnis in dein eigenes Repository einzubinden. Das ist nützlich für gemeinsame Bibliotheken oder Tools.

TerminalSubmodule verwalten
# Submodule hinzufügen
git submodule add https://example.com/team/shared-library.git libs/shared

# Submodule initialisieren und aktualisieren
git submodule update --init --recursive

# Submodule auf neuesten Stand bringen
git submodule update --remote
Wichtig: Submodule verweisen auf spezifische Commits, nicht auf Branches. Aktualisierungen müssen manuell gepullt und committet werden.

17. Gute Commits und Best Practices

Ein Thema pro Commit

Fasse zusammengehörige Änderungen zusammen. Vermische keine neue Funktion, Formatierung und Fehlerkorrektur ohne Grund.

Klare Nachricht

Beschreibe knapp, was der Commit bewirkt, zum Beispiel „Kontaktformular validieren“ statt „Änderungen“.

Vorher testen

Prüfe Funktion, Tests und relevante Darstellung, bevor der Commit oder Pull Request geteilt wird.

Diff kontrollieren

git diff --staged hilft, versehentliche Debug-Ausgaben, fremde Dateien oder Geheimnisse zu erkennen.

Gute und schwache Commit-Nachrichten

SchwachBesserWarum?
UpdateNavigation auf Mobilgeräten korrigierenDie Wirkung ist sofort erkennbar.
FixDoppelte Formularübermittlung verhindernDas konkrete Problem wird benannt.
Neue DateienFAQ-Komponente hinzufügenDer fachliche Zweck steht im Mittelpunkt.
CSSPreiskarten responsiv anordnenDie sichtbare Änderung ist nachvollziehbar.
Merksatz: Ein anderer Entwickler sollte anhand der Commit-Nachricht verstehen können, warum dieser Zwischenstand nützlich ist, ohne zuerst jede geänderte Zeile lesen zu müssen.

18. Interaktiver Git-Befehlshelfer

Wähle eine typische Aufgabe. Der Helfer zeigt dir einen passenden Ausgangspunkt und erklärt kurz die Wirkung.

Was möchtest du tun?

Wähle oben eine Aufgabe aus.

Die angezeigten Befehle sind Beispiele. Prüfe vor der Ausführung immer Repository, Branch und Dateinamen.

19. Checkliste für dein erstes Git-Projekt

Hake die erledigten Punkte ab. Die Auswahl bleibt nur während dieses Seitenaufrufs erhalten.

0 von 10 Punkten erledigt

20. Häufige Fehler und Lösungen

„Not a git repository“

Ursache: Das Terminal befindet sich nicht innerhalb eines Git-Repositorys.

Prüfen: Mit pwd beziehungsweise cd in den richtigen Projektordner wechseln und git status erneut ausführen.

Push wird abgelehnt

Ursache: Der Remote-Branch enthält möglicherweise Commits, die lokal fehlen.

Prüfen: Remote-Änderungen abrufen, Unterschiede ansehen, sauber integrieren und erst danach erneut pushen. Kein erzwungenes Pushen ohne klare Teamabsprache.

Datei trotz .gitignore

Ursache: Die Datei wurde bereits verfolgt, bevor sie ignoriert wurde.

Lösung: Bei einer unkritischen Datei das Tracking mit git rm --cached beenden und anschließend committen.

Falscher Branch bearbeitet

Ursache: Vor Arbeitsbeginn wurde der aktuelle Branch nicht geprüft.

Prüfen: git status und git branch --show-current verwenden; offene Arbeit anschließend bewusst sichern und korrekt zuordnen.

21. Übungen zum Mitmachen

Lege für die Übungen am besten einen neuen Testordner ohne wichtige Dateien an.

Übung 1 · Einstieg

Ersten Commit erstellen

Initialisiere ein Repository, erstelle eine index.html, prüfe den Unterschied und speichere den ersten Commit.

Übung 2 · Einstieg

Staging verstehen

Ändere zwei Dateien, stage nur eine und vergleiche git diff mit git diff --staged.

Übung 3 · Mittel

Feature-Branch verwenden

Erstelle einen Branch, ergänze eine Navigation, committe die Änderung und führe den Branch in main zusammen.

Übung 4 · Mittel

Änderung zurücknehmen

Ändere eine Testdatei und verwende git restore. Wiederhole die Änderung, committe sie und teste anschließend git revert.

Übung 5 · Fortgeschritten

Stashing ausprobieren

Ändere eine Datei, verwende git stash, wechsle den Branch und wende den Stash wieder an.

Übung 6 · Fortgeschritten

Tag erstellen

Nach einem Commit einen annotierten Tag (git tag -a) erstellen und mit git log --oneline überprüfen.

Mini-Projekt: Webseite versionieren

  1. 1
    Grundlage anlegenErstelle HTML-, CSS- und JavaScript-Datei mit einer einfachen Startseite.
  2. 2
    Ersten Stand sichernPrüfe alle Dateien und erstelle einen klar benannten Anfangs-Commit.
  3. 3
    Feature entwickelnBaue in einem Branch einen Über-mich-Abschnitt ein.
  4. 4
    Unterschiede prüfenUntersuche die Änderung mit git diff und git log --oneline.
  5. 5
    ZusammenführenMerge das getestete Feature und lösche danach den nicht mehr benötigten Branch.
  6. 6
    Release-Tag setzenErstelle einen annotierten Tag für den aktuellen Stand.

22. Häufige Fragen zu Git

Speichert Git automatisch jede Änderung?

Nein. Git erkennt veränderte Dateien, aber ein neuer Projektstand entsteht erst durch bewusstes Staging und einen Commit. Nicht committete Änderungen können verloren gehen.

Was ist der Unterschied zwischen Commit und Push?

Ein Commit speichert einen Stand im lokalen Repository. Push überträgt lokale Commits in ein verbundenes Remote-Repository. Ohne Push bleiben die Commits nur lokal.

Kann ich Git auch allein verwenden?

Ja. Git ist auch für Einzelprojekte sehr nützlich, weil Änderungen nachvollziehbar bleiben und Experimente in Branches getrennt werden können. Ein Remote-Repository bietet zusätzlich eine externe Kopie und erleichtert den Gerätewechsel.

Wann sollte ich einen neuen Branch erstellen?

Ein Branch ist sinnvoll, wenn eine Funktion, Fehlerkorrektur oder ein Experiment getrennt entwickelt und geprüft werden soll. Kleine Teams sollten gemeinsam festlegen, wie fein Branches zugeschnitten werden.

Was bedeutet „detached HEAD“?

Dann zeigt HEAD direkt auf einen bestimmten Commit statt auf einen normalen Branch. Änderungen können getestet werden, sollten aber vor weiterer Arbeit bewusst in einem neuen Branch gesichert werden, wenn sie erhalten bleiben sollen.

Warum fragt Git nach Name und E-Mail?

Diese Angaben werden als Urheberinformation in neue Commits geschrieben. Sie helfen, Änderungen zuzuordnen, und sind Teil der Repository-Geschichte.

Ist Git ein vollständiges Backup?

Nein. Git schützt vor allem versionierte Projektdateien. Nicht committete Dateien, Datenbanken, große Medien, Zugangsdaten und externe Systeme benötigen eine eigene Backup-Strategie.

Sollte ich git push --force verwenden?

Nicht ohne genaue Kenntnis der Auswirkungen und klare Teamabsprache. Ein erzwungener Push kann Remote-Geschichte überschreiben und Arbeit anderer Personen unzugänglich machen. Für normale Zusammenarbeit ist er in der Regel nicht erforderlich.

Was ist der Unterschied zwischen Stash und Commit?

Ein Commit speichert einen dauerhaften Projektstand mit Nachricht. Ein Stash ist ein temporärer Zwischenspeicher für unfertige Änderungen, die später wieder angewendet werden können.

Wann sollte ich Tags verwenden?

Tags sind ideal für Release-Versionen (v1.0.0, v2.0.0) oder wichtige Meilensteine. Sie sind festere Markierungen als Branches und eignen sich gut für die Dokumentation von Veröffentlichungen.

Datenschutz-Übersicht
digitale-start-hilfe.de

Auf dieser Website werden Cookies verwendet, um deine Nutzererfahrung zu verbessern. Du kannst in den {setting}Einstellungen{/setting} mehr erfahren oder Cookies jederzeit ablehnen.

Eine vollständige Liste aller Cookies findest du in unserer Cookie-Erklärung.

Weitere Informationen findest du in unserer Datenschutzerklärung.

Notwendige Cookies & Chatbot

Diese Cookies sind für den Betrieb der Website unbedingt erforderlich und können nicht deaktiviert werden. Dazu gehören auch grundlegende Funktionen wie der WebChatAgent (Chatbot) von WebChatAgent.com, der die direkte Kommunikation mit uns ermöglicht.