Branches
Der Hauptentwicklungszweig (branch) in git heißt standardmäßig master. Wir erzeugen nun mit dem Befehl folgenden Befehl einen neuen Branch mit dem Namen testing:
git branch testing
Dies führt zunächst nur dazu, dass die Version, auf die HEAD zeigt, zusätzlich zu dem Branch "master" auch noch mit dem Branch "testing" markiert wird:

echo "version 4" > test-datei.txt
git commit test-datei.txt -m "v4 eingecheckt"
und führt zu dem folgenden Zustand unseres Projektes:

git checkout testing
echo "Version 4" > test-datei.txt
echo "Version experimentell" >> test-datei.txt
git commit test-datei.txt -m "v4alpha eingecheckt"
Beachte dass der String "Version experimentell" durch den Befehl >> an das Ende der bereits bestehenden Testdatei angehängt wird. Anschließend hat unser gesamtes Projekt nun den Zustand:

Auf diese Weise kann im Branch test zum Beispiel experimenteller Code getestet und eingecheckt werden ohne die Entwicklung der Software im Branch master zu beeinflussen.