Von Gast (nicht überprüft) , 29 April 2026

Was ist eine Ref

Eine Ref ist ein Name, der auf ein Objekt zeigt — meist auf einen Commit. Branches sind Refs unter refs/heads/, Tags unter refs/tags/, Remote-Tracking unter refs/remotes/, und Pseudo-Refs wie HEAD, FETCH_HEAD, ORIG_HEAD.

Refs inspizieren

git for-each-ref
git for-each-ref --sort=-committerdate --format='%(refname:short) %(committerdate:relative)' refs/heads
git symbolic-ref HEAD
git update-ref refs/heads/foo <sha>

Das Reflog

git reflog
git reflog show feature
git reflog show HEAD@{2.weeks.ago}
git log -g --oneline
git checkout HEAD@{1}
git branch rescue HEAD@{5}

Reflog-Ablauf

git config gc.reflogExpire never
git config gc.reflogExpireUnreachable 60.days

Spezielle Pseudo-Refs

HEAD, ORIG_HEAD, FETCH_HEAD, MERGE_HEAD.

Reftable-Backend

git init --ref-format=reftable

Haufige Fehler

Reflog ewig vertrauen: es lauft ab.