10.1 Interaktívny Rebase - Edit

Príkaz edit (skratka e) zastaví rebase presne na danom commite a dá ti možnosť ho upraviť - podobne ako pri git commit --amend, ale uprostred histórie.

Použitie

pick 4d66c25 Pridanie tlačidla
edit aebabf5 Oprava layoutu
pick 915e2da Refaktoring
pick 89f779a Pridanie testov

Po uložení zoznamu Git aplikuje commit 4d66c25, potom aebabf5 a na tomto mieste sa zastaví:

Stopped at aebabf5...  Oprava layoutu
You can amend the commit now, with

  git commit --amend

Once you are satisfied with your changes, run

  git rebase --continue

V tomto momente sa repozitár nachádza presne v stave, v akom bol tesne po commite aebabf5. Môžeš teda:

  • upraviť súbory a použiť git commit --amend, aby si zmenil obsah tohto commitu
  • pridať úplne nový, zabudnutý súbor, git add ho a takisto --amend
  • dokonca vytvoriť viacero nových commitov namiesto pôvodného jedného (tzv. “rozdelenie” commitu)

Pokračovanie rebase

Akonáhle si s úpravami spokojný, pokračuj v rebase:

git rebase --continue

Git zoberie zvyšné commity (915e2da, 89f779a) a znovu ich aplikuje na tvoj upravený commit.

Dôležité: edit je jediný príkaz z interaktívneho rebase, ktorý ti dá plnú kontrolu nad obsahom commitu - nielen nad jeho správou (reword) alebo existenciou (pick/drop).

Tip: Kedykoľvek počas zastavenia si vieš pozrieť git status, aby si videl, v akom stave sa repozitár nachádza - presne tak, ako sme si to ukázali v úvodných kapitolách.