Inhalt

Git Befehle

Dies ist eine Übersicht von einigen nützlichen Git Befehlen.

Git einrichten

Benutzername

git config --global user.name username

Email

git config --global user.email email

Vim Editor

git config --global core.editor vim

Notepad Editor

git config --global core.editor notepad

Atom Editor

git config --global core.editor "atom --wait"

Aktivierung der Erkennung von Umbenennungen

git config diff.renames true

Repository

Erstellung eines Repositories

git init

Schreiben in die Object Database

git hash-object -w hello.txt

Auslesen von Objektinhalt

git cat-file -p 56d90gfdz

Alle verschobenen Dateien

git log --summary -M90% | grep -e "^ rename"

Alle kopierten Dateien

git log --summary -C90% | grep -e "^ copy"

Geschichte von Codezeilen

git blame -M -C -C -C foo.txt

Commit

Wähle für einen Commit spezifische Dateien aus

git add foo.txt bar.txt

Wähle für einen Commit ein Verzeichnis und alles darunter aus

git add directory/

Wähle für einen Commit das aktuelle Verzeichnis und alles darunter aus

git add .

Commit

git commit --message "Commit Message"

Commite alle veränderten Dateien

git commit --all

Status

git status

Diff

Workspace vs. Stage

git diff

Unterschied für Datei

git diff foo.txt

Stage vs. Repository

git diff --staged

Unterschied zwischen zwei Dateien

git diff 1c96fgt main

Unterschied zum Vorgänger

git diff p03sr4f^!

Anzahl an Änderungen

git diff --stat 1c96fgt 72ser18d

Änderungen an Fließtext

--word-diff

Reset

Alles zurücksetzen

git reset HEAD .

Zurücksetzen von spezifischen Dateien/Verzeichnissen

git reset HEAD foo.txt src/test/

Stashing

Stash geänderte Dateien

git stash --include-untracked

Erhalte die gestashten Änderungen

git stash pop

Erhalte ältere, gestashte Änderungen

git stash pop stash@{1}

Stash Liste

git stash list

Show

Übersicht

git show 32rftsgz

Dateiinhalt

git show 32rftsgz:src/main.kt

Root Verzeichnis

git show 32rftsgz:

Verzeichnis “src”

git show 32rftsgz:src

Verzeichnis “src” mit Unterordnern

git ls-tree -r 32rftsgz -- src

History

Logausgabe

git log

Letzte 3 commits

git log -n 3

Eine Zeile pro commit

git log --oneline

Statistiken

git log --stat

Kurzstatistik

git log --shortstat --oneline

Graf

git log --graph --oneline

Branches

Liste an Zweigen

git branch

Erstelle Zweig von aktuellen commit

git branch new-branch

Erstelle Zweig von irgend einem commit

git branch new-branch 672dgzuj

Erstellen Zweig von existierenden Zweig

git branch new-branch existing-branch

Wechsel zu Zweig

git checkout main

Erstelle und wechsel zu Zweig

git checkout -b new-branch

Zurücksetzen zu älteren commit

git reset --hard rs29bnz1

Löschen von nicht aktiven Zweig

git branch -d branch-to-delete

Wiederherstellen von Zweig, wenn der commit hash bekannt ist

git branch deleted-branch ek183lp8 

Erhalte commit hashes

git reflog

Merge

Merge feature Zweig in aktuellen Zweig

git merge feature

Starten von mergetool

git mergetool

Merge abbrechen

git merge --abort

Arbeiten mit Repositories

Liste der Remote-Tracking-Zweige

git branch --list --remote --verbose

Fetch: Erhalte Zweige von anderen Repository

git fetch origin alpha master

Prüfe Integrität des Repositories

git fsck