Junior — Middle
Izskaidrojiet rebase komandas darbības principu Git versiju kontroles sistēmā un kā tā atšķiras no merge.
sobes.tech AI
Atbilde no AI
git rebase komanda tiek pārvieto vai 'pārraksta' virkni commitu uz jaunu bāzi, tas ir, uz citu commit. Tā ļauj ņemt izmaiņas no viena zara un 'pārrakstīt' tās virs cita zara, radot līnisku vēsturi bez papildu saplūšanas commitiem.
Atšķirības no git merge:
- git merge apvieno divus zarus un rada jaunu saplūšanas commit, kas saglabā abu zaru vēsturi un atzarojumus.
- git rebase pārvieto viena zara commitus uz citas virsotni, pārrakstot vēsturi un padarot to līnisku.
Piemērs:
Ja jums ir feature nosaukuma zars, kas ir izriests no master, un master ir atjaunināts, tad:
git merge masterfeature'ā izveidos saplūšanas commit, kas apvieno izmaiņas.git rebase masterfeature'ā pārvietos jūsu commitus virs pašreizējā master stāvokļa, it kā jūs sāktu darbu no pēdējā master stāvokļa.
Rebase ir noderīgs, lai uzturētu tīru vēsturi, bet prasa uzmanību, strādājot ar publiskajiem zariem, lai nesaglabātu kopīgo vēsturi.