Junior
Ako zlúčiť viac commitov do jedného pomocou Git?
sobes.tech AI
Odpoveď od AI
Ak chcete spojiť viacero commitov do jedného pomocou Git, použite príkaz git rebase -i <commit-ish>.
- Určite commit, ku ktorému chcete spojiť. Môže to byť hash commit, vetva alebo tag.
- Spustite príkaz
git rebase -i <commit-ish>. Napríklad, pre spojenie posledných 3 commitov:git rebase -i HEAD~3 - Otvorí sa textový editor so zoznamom commitov. Prvý commit v zozname (hore) by mal mať slovo
pick. Ostatné commity, ktoré chcete spojiť s prvým, zmeňte zpicknasquashalebos.pick abcd123 Počiatočný commit squash efgh456 Časť 1 funkcie A squash ijkl789 Časť 2 funkcie A ... - Uložte a zatvorte editor.
- Otvorí sa nový editor na vytvorenie správy commit-u. Kombinujte alebo upravte správy commit-ov podľa vlastného uváženia, aby ste vytvorili zmysluplnú správu pre nový spojiť commit.
// Správa pre nový spojiť commit // Toto je kombinácia 3 commitov. // Počiatočný commit // Časť 1 funkcie A // Časť 2 funkcie A - Uložte a zatvorte editor. Git vykoná spojenie commit-ov.
Ak je vetva, na ktorej pracujete, už odoslaná do vzdialeného repozitára, budete musieť vykonať nútený push s príznakom -f alebo --force-with-lease.
git push origin <vaša_vetva> -f
Toto je potrebné, pretože história commit-ov bola zmenená. Nútený push môže byť nebezpečný, ak na tejto vetve už pracujú iní vývojári. Vždy overte, či je možné vykonať nútený push na tejto vetve.
Alternatívne môžete použiť príznaky --fixup a --autosquash pri commitoch a potom spustiť git rebase -i --autosquash <commit-ish> na automatické spojenie.