Junior
Mida tähendab teha rebase peamisele harule?
sobes.tech AI
Vastus AI-lt
Teostada git rebase main oma haru tähendab teie haru aluspunkti viimise viimase main komitini.
See toimub järgmiselt:
- Git ajutiselt salvestab teie praeguse haru komitid, mis ilmusid pärast selle haru eraldumist
main-ist. - Teie praegune haru lähtestatakse
main-i seisundile. - Salvestatud komitid rakendatakse järjekorras
main-i viimase komiti kohale.
Peamised erinevused merge-ga:
| Omadus | Rebase |
Merge |
|---|---|---|
| Ajalugu | Jooneline, ei ole ühendamiskomiteid | Mitte-jooneline, on ühendamiskomiteid |
| Ajaloo puhtus | Puhasem, lihtsam mõista | Võib olla keerulisem mõista |
| Konfliktid | Lahendatakse iga komiti puhul eraldi | Lahendatakse üks kord kõigi muudatuste jaoks |
| Kasutus | Soovitatav väikestele, isiklikele harudele | Soovitatav avalike harude integreerimiseks |
Näide:
Algne ajalugu:
A -- B -- C (main)
\
D -- E (feature)
Pärast git checkout feature ja git rebase main:
A -- B -- C (main)
\
D' -- E' (feature)
Kus D' ja E' on D ja E komitid uue vanem-atseseidipunktiga.
Võimalikud probleemid:
- Konfliktid: võivad tekkida iga komiti rakendamisel.
- Ajaloo ümberkirjutamine:
rebasemuudab komitite ID-sid. See on ohtlik, kui teeterebaseharule, mis on juba avaldatud ja millega tegelevad teised arendajad. Sellisel juhul võib osutuda vajalikuks sundpush (git push --force), seda tuleb teha ettevaatusega.