Sobes.tech
Junior — Middle

Selgitage rebase käsu tööpõhimõtet Git versioonikontrollisüsteemis ja kuidas see erineb merge'ist.

sobes.tech AI

Vastus AI-lt

Käsk git rebase kasutatakse commitide seeria viimiseks või 'üle kirjutamiseks' uuele alusele, st teise commiti peale. See võimaldab võtta muudatused ühest harust ja 'üles mängida' need teise haru peale, luues lineaarse ajaloo ilma täiendavate ühenduscommit'ideta.

Erinevused git merge-ga:

  • git merge ühendab kaks haru ja loob uue ühenduscommit'i, mis säilitab mõlema haru ajaloo ja harunemised.
  • git rebase liigutab ühe haru commit'id teise haru tippu, kirjutades ajaloo ümber ja muutes selle lineaarseks.

Näide:

Kui sul on feature nimeline haru, mis on välja lõigatud masterist, ja master on uuendatud, siis:

  • git merge master loob feature'is ühenduscommit'i, mis ühendab muudatused.
  • git rebase master liigutab sinu commit'id üle kehtiva master'i oleku, nagu oleksid alustanud tööd viimase master'i seisust.

Rebase on kasulik puhta ajaloo säilitamiseks, kuid nõuab ettevaatust, töötades avalike harudega, et mitte üle kirjutada jagatud ajalugu.