17. August 2013

Commits erstellen

Mit git commit wird der Zustand des Index als neuer Commit im Repository abgelegt:

$ git commit [-m <msg>]

Analog zum Index handelt es sich bei einem Commit um einen vollständigen Snapshot der Projektdateien und ihrer Inhalte. Im Unterschied zu Versionskontrollsystemen wie CVS/SVN ist commit eine lokale Operation.

Mit -a können alle geänderten Dateien (nicht: neu angelegte Dateien) vor dem Commit automatisch in den Index übernommen werden:

$ git commit [-a] [-m <msg>]

git status zeigt neben der Differenz zwischen Working Tree und Index auch die Differenz zwischen Index und dem letztem Commit an:

$ git status
# Changes to be committed: ...
# Changed but not updated: ...
# Untracked files: ...

Eine Kurzübersicht erhalten Sie mit:

$ git status -s
 M changed_file.txt
M  changed_file_already_added.txt
?? newfile.txt

Die genauen Unterschiede zwischen Working Tree und Index werden angezeigt mit:

$ git diff

Aufgaben

  1. Erstellen Sie einen neuen Commit mit git commit.

  2. Vergleichen Sie mit git status sowie git status -s und git diff den Working Tree mit dem Index.

  3. Ändern Sie die Datei, zeigen Sie die Unterschiede erneut an, und committen Sie diese Änderung mit git commit -a.