Junior
Hogyan egyesíthetjük több commitot egybe a Git segítségével?
sobes.tech MI
Válasz az MI-től
Több commit egyesítéséhez Git-ben a git rebase -i <commit-ish> parancsot használja.
- Határozza meg azt a commitot, ameddig össze szeretné vonni. Ez lehet egy commit hash, ág vagy címke.
- Futtassa a
git rebase -i <commit-ish>parancsot. Például, hogy az utolsó 3 commitot egyesítse:git rebase -i HEAD~3 - Megnyílik egy szövegszerkesztő a commitok listájával. Az első commit a listában (felső) legyen a
pickszóval. A többi commit, amit össze szeretne vonni az elsővel,pickhelyettsquashvagyslegyen.pick abcd123 Kezdeti commit squash efgh456 Az A funkció 1. része squash ijkl789 Az A funkció 2. része ... - Mentse el és zárja be a szerkesztőt.
- Egy új szerkesztő nyílik meg, ahol a commit üzenetét írhatja. Egyesítse vagy szerkessze a commit üzeneteket, hogy egy értelmes üzenetet hozzon létre az új összevont commithoz.
// Az új összevont commit üzenete // Ez 3 commit egyesítése. // Kezdeti commit // Az A funkció 1. része // Az A funkció 2. része - Mentse el és zárja be a szerkesztőt. A Git végrehajtja a commitok egyesítését.
Ha az ága, amin dolgozik, már fel lett pusholva egy távoli tárhelyre, akkor erőltetett push-t kell végrehajtania az -f vagy --force-with-lease zászlóval.
git push origin <az_ágad> -f
Ez szükséges, mert a commit történet megváltozott. Az erőltetett push veszélyes lehet, ha más fejlesztők már dolgoznak ezen az ágon. Mindig ellenőrizze, hogy biztonságos-e az erőltetett push.
Alternatívaként használhatja az --fixup és --autosquash zászlókat a commitoknál, majd futtassa a git rebase -i --autosquash <commit-ish> parancsot az automatikus egyesítéshez.