Junior — Middle
Git версияларды башкаруу системасында rebase командасынын иштөө принциби жана ал merge менен эмнеси менен айырмаланарын түшүндүрүңүз.
sobes.tech AI
AIден жооп
git rebase командасы сериялык коммиттерди жаңы негизге которуу же 'жазып алуу' үчүн колдонулат, башкача айтканда, башка коммиттин үстүнө. Ал бир бутактагы өзгөртүүлөрдү алып, башка бутактын үстүнө 'ойнотуп', кошумча бириктирүү коммиттери жок түз сызыктуу тарых түзүүгө мүмкүндүк берет.
git merge менен айырмачылыктар:
- git merge эки бутакты бириктирип, жаңы бириктирүү коммитин түзөт, ал эки бутактын тарыхын жана бөлүнүүнү сактайт.
- git rebase бир бутактын коммиттерин башка бутактын үстүнө которуп, тарыхты кайра жазып, аны түз сызыктуу кылат.
Мисал:
Эгерде сизде feature деп аталган бутак бар болсо, ал masterдан бөлүнүп чыккан болсо жана master жаңыртылган болсо:
git merge masterfeature ичинде өзгөртүүлөрдү бириктирген бириктирүү коммитин түзөт.git rebase masterfeature ичинде сиздин коммиттериңизди актуалдуу masterдин үстүнө которот, алсак, сиз ишти акыркы master абалынан баштагандай.
Rebase таза тарыхты сактоо үчүн пайдалуу, бирок коомдук бутактар менен иштегенде сак болуу керек, анткени жалпы тарыхты кайра жазбоо керек.