Sobes.tech
Junior — Middle

Git версияларды башкаруу системасында rebase командасынын иштөө принциби жана ал merge менен эмнеси менен айырмаланарын түшүндүрүңүз.

sobes.tech AI

AIден жооп

git rebase командасы сериялык коммиттерди жаңы негизге которуу же 'жазып алуу' үчүн колдонулат, башкача айтканда, башка коммиттин үстүнө. Ал бир бутактагы өзгөртүүлөрдү алып, башка бутактын үстүнө 'ойнотуп', кошумча бириктирүү коммиттери жок түз сызыктуу тарых түзүүгө мүмкүндүк берет.

git merge менен айырмачылыктар:

  • git merge эки бутакты бириктирип, жаңы бириктирүү коммитин түзөт, ал эки бутактын тарыхын жана бөлүнүүнү сактайт.
  • git rebase бир бутактын коммиттерин башка бутактын үстүнө которуп, тарыхты кайра жазып, аны түз сызыктуу кылат.

Мисал:

Эгерде сизде feature деп аталган бутак бар болсо, ал masterдан бөлүнүп чыккан болсо жана master жаңыртылган болсо:

  • git merge master feature ичинде өзгөртүүлөрдү бириктирген бириктирүү коммитин түзөт.
  • git rebase master feature ичинде сиздин коммиттериңизди актуалдуу masterдин үстүнө которот, алсак, сиз ишти акыркы master абалынан баштагандай.

Rebase таза тарыхты сактоо үчүн пайдалуу, бирок коомдук бутактар менен иштегенде сак болуу керек, анткени жалпы тарыхты кайра жазбоо керек.