git ready

Lerne Git Commit für Commit
von Nick Quaranto, Übersetzung von Nico Gulden

Interaktives Hinzufügen

eingetragen am 14 Jan 2009

Manchmal ist das einfache Hinzufügen mit git add . oder git commit -am nicht genug. Du möchtest deine Änderungen vielleicht in verschiedene kleine Commits aufteilen, oder du bist einfach noch nicht bereit alles hinzuzufügen. Und wer möchte schon einzelne Dateien auf einmal hinzufügen? Das ist langweilig. Öffne den interaktiven Modus mit:

git add -i

und wir gehen durch ein Beispiel. Ich habe ein paar Änderungen zur Readme im gitready Projekt zusammen mit ein paar anderen Dateien vorgenommen. Das o.g. Kommando bringt uns folgende Ausgabe, der Status des Index:

         staged     unstaged path
1:    unchanged        +3/-1 README.md
2:    unchanged        +1/-1 _layouts/default.html

*** Commands ***
1: status   2: update  3: revert  4: add untracked
5: patch    6: diff    7: quit    8: help
What now> 

Wie du sehen kannst, stehen uns eine Reihe von Befehlen zur Verfügung. Das status Kommando zeigt uns diese Ausgabe erneut. +3/-1 sind Nummern von Zeilen, die hinzugefügt/entfernt worden sind, die gewöhnliche Plus- und Minussymbole, die du beim Ziehen (pull) siehst.

Wir fügen die Änderungen an der Readme hinzu. Das update Kommando erlaubt uns diesen Schritt. Danach sehen wir folgende Ausgabe:

           staged   unstaged path
* 1:    unchanged      +3/-1 README.md
  2:    unchanged      +1/-1 _layouts/default.html
Update>>

Sobald wir Update 1 auswählen, wird uns mitgeteilt, dass die Datei für den Commit bereitgestellt ist. Wenn wir in den Status schauen, sehen wir, dass unsere Readme korrekt bereitgestellt ist.

          staged  unstaged  path
1:        +3/-1    nothing  README.md
2:    unchanged      +1/-1  _layouts/default.html

Sobald du fertig bist, kannst du mit dem quit Kommando abschließen und deine Arbeit wird committed. Solltest du dem interaktiven Modus nicht trauen, zeigt dir git status, dass nur die Readme für den Commit bereitgestellt wurde:

# On branch master
# Changes to be committed:
#
# modified:   README.md
#
# Changed but not updated:
#
# modified:   _layouts/default.html

Es gibt noch eine Reihe von hilfreichen Kommandos zum interaktiven Hinzufügen. Das ist erst der Anfang. Schau dir das help Kommando an, der Rest ist dir überlassen. Für weiteren verfügbaren Kommandos im interaktiven Modus, gibt es bald weitere Tips.