Git

Codeänderungen verfolgen, mit Teams zusammenarbeiten und Projekthistorie mit verteilter Versionskontrolle pflegen

TL;DR

Eine Zeile: Git verfolgt jede Änderung an Ihrem Code, ermöglicht es Fehler rückgängig zu machen und macht Zusammenarbeit möglich.

Kernwert:

  • Verlauf - jede Änderung wird aufgezeichnet
  • Rückgängig - zu jedem vorherigen Zustand zurückkehren
  • Branches - an Features arbeiten ohne den Hauptcode zu beschädigen
  • Zusammenarbeit - Arbeit von mehreren Personen zusammenführen

Quick Start

Install

macOS:

brew install git

Windows: Git für Windows herunterladen

Linux:

sudo apt install git  # Debian/Ubuntu

Configure

git config --global user.name "Ihr Name"
git config --global user.email "[email protected]"

First Repo

mkdir meinprojekt && cd meinprojekt
git init
echo "# Mein Projekt" > README.md
git add .
git commit -m "Erster Commit"

Cheatsheet

BefehlBeschreibung
git initNeues Repo erstellen
git clone URLRepo klonen
git statusAktuellen Zustand prüfen
git add DATEIÄnderungen stagen
git add .Alle Änderungen stagen
git commit -m "msg"Änderungen committen
git pushZum Remote pushen
git pullVom Remote pullen
git branchBranches auflisten
git branch NAMEBranch erstellen
git checkout NAMEBranch wechseln
git checkout -b NAMEErstellen und wechseln
git merge NAMEBranch mergen
git log --onelineVerlauf anzeigen
git diffUngestagete Änderungen anzeigen
git stashÄnderungen temporär speichern
git stash popGespeicherte Änderungen wiederherstellen

Gotchas

Forgot to add files before commit

git add vergessene-datei
git commit --amend --no-edit

Wrong commit message

git commit --amend -m "Korrekte Nachricht"

Undo last commit (keep changes)

git reset --soft HEAD~1

Undo last commit (discard changes)

git reset --hard HEAD~1

Merge conflicts

Bearbeiten Sie die konfliktbehafteten Dateien (suchen Sie nach <<<<<<<), dann:

git add .
git commit -m "Konflikte lösen"

Accidentally committed to wrong branch

# Commit zum richtigen Branch verschieben
git checkout richtiger-branch
git cherry-pick COMMIT_HASH
git checkout falscher-branch
git reset --hard HEAD~1

Next Steps