git ready

leer git een commit per keer
by Nick Quaranto

interactief toevoegen

Toegevoegd op 14 Jan 2009

Soms is simpelweg toevoegen met git add . of git commit -am niet genoeg. Je wilt je wijzigingen splitsen over meerdere commits, of je bent niet zover dat je all je wijzigingen wil toevoegen. En wie wil er nu individuele bestanden een voor een toevoegen? Dat is gewoon saai. Entree voor de interactieve toevoeg-er:

git add -i

Laten we door een voorbeeld van het gebruik van de interactieve modus heen lopen. Ik heb wat wijzigingen aan het gitready project zijn readme en een ander bestand gemaakt. Het gebruiken van het bovengenoemde commando geeft de volgende output, de status van de 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> 

Zoals je ziet, we hebben genoeg commando’s tot onze beschikking. Als we dit scherm nogmaals willen zien, kunnen we het status commando gebruiken om het terug te brengen. De +3/-1 zijn het aantal regels die zijn toegevoegd/verwijderd, de gebruikelijke plus en min symbolen die je ziet wanneer je een pull uitvoert.

Laten we de wijzigingen die we gemaakt hebben aan de readme toevoegen. Het update commando staat ons toe dat te doen. Nadat we dit commando gekozen hebben zien we de volgende output:

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

En als we 1 selecteren voor update, zal update ons vertellen dat het bestand staged is om gecommit te worden. Wanneer we nu naar de status kijken, kunnen we zien dat onze readme correct gestaged is.

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

Wanneer je klaar bent, kun je deze modus verlaten met het quit commando, en je werk committen. Wanneer je de toevoeg-er niet vertrouwd, zal git status je laten zien dat uitsluitend readme staged voor commit is:

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

Er zijn voldoende nuttige commando’s die de interactieve toevoeging te bieden heeft, dit is pas het begin. Bekijk het help commando om de rest van de commando’s te zien die je tot je beschikking hebt. In de toekomst zullen er meer tips verschijnen over de commando’s die je kunt gebruiken in interactieve modus.