Git භාවිතා කරන බොහෝ නවකයන්ට git rebase -i (interactive rebase) යන නියෝගය ගැන භයයක් පවතිනවා. එය මොනවාද, කොහොමද කරන්නෙ, සහ එය ඔබේ වැඩපිළිවෙලට කොච්චර වාසි දෙනවා කියලා මේ ලිපියෙන් පැහැදිලි කරමු.
Git rebase -I කියන්නේ කුමක්ද?
ඔබ git rebase -i HEAD~4 වැනි නියෝගයක් ක්රියාත්මක කළොත්, Git එක ඔබේ පෙර කොමිට් 4ක ලැයිස්තුවක් අන්තර්ක්රියාත්මක (interactive) පෙළ ගොනුවක් ලෙස විවෘත කරයි. මෙහි ඔබට pick, reword, squash, fixup, drop වැනි විකල්පයන් තෝරා, කොමිට් පණිවුඩ වෙනස් කිරීම, එකතු කිරීම, හෝ මකා දැමීම වගේ ක්රියා කළ හැක.
කොහොමද භාවිතා කරන්න?
- Terminal එකේ
git config --global core.editor "nano"වගේ සරල සංස්කාරකයක් සකස් කර, Vim ගැන බිය නොවන්න. - ඔබට අවශ්ය කොමිට් සංඛ්යාවට
HEAD~nලෙස නියෝගය දී, එය විවෘත කරන්න. - ඉදිරිපත් වූ ලැයිස්තුවේ
pickවෙනුවටrewordලියලා පණිවුඩයක් වෙනස් කරන්න,dropදාලා අනිවාර්ය නොවන කොමිට් මකා දැමිය හැක. - සැලසුම සම්පූර්ණ කර
:wq(save & quit) හෝ ඔබේ සංස්කාරකයේ සුරකින්න/ඉවත් වන්න ක්රියාත්මක කරන්න. - Git එක ඔබේ සැලසුමට අනුව නව කොමිට් එකක් සාදයි; අසලින්
git rebase --abortභාවිතා කර, අවශ්ය නම් ආපසු හැරිය හැක.
ඇයි මෙය වැදගත්?
Interactive rebase එක ඔබේ ශාඛාව (branch) ඉතිහාසය පිරිසිදු, තේරුම්ගත හැකි ලෙස ගොඩනැගීමට උපකාරී වේ. කොමිට් පණිවුඩ හොඳින් සකස් කර, අඩු වැරදි සහිත ඉතිහාසයක් තබා, කණ්ඩායම් වැඩේදී ගැටළු අඩු කරයි. තවත් වැදගත් කරුණක් නම්, Rebase ක්රියාවලිය නව කොමිට් නිර්මාණය කරන අතර පරණ කොමිට් ඉවත් නොවෙයි; ඒ නිසා git reflog හෝ git reset --hard HEAD@{n} මඟින් සෑම විටම පසුපසට හැරිය හැක.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ තරුණ ඩිවෙලපර්ලා, විශ්වවිද්යාල සිසුන්, සහ තාක්ෂණ ආයතන සඳහා Git interactive rebase එක ඉගෙනීම ප්රයෝජනවත් වේ. පිරිසිදු commit history එකක් තබා, කේත සමීක්ෂණය (code review) සහ CI/CD පද්ධති සමඟ ඒකාබද්ධ කිරීම පහසු කරයි. ආරම්භකයන්ට මෙය අභියෝගයක් ලෙස නොබලා, ඉක්මනින් වෘත්තීයමය Git පාලනයේ මූලික කුසලතා ගොඩනැගීමට උදව් කරයි. එමෙන්ම, ගිට් ගබඩා (repository) පිරිසිදු තබා, ආයතනික ව්යාපාර වල කාර්ය සාධනය වැඩි කර, දෝෂ හඳුනා ගැනීමේ වේගය ඉහළ ගනී.
අවසන් වශයෙන්, Git rebase -i භය නොවෙයි; එය ඔබේ වැඩපිළිවෙල සරල කර, කේත කළමනාකරණය නව මට්ටමකට ගෙන යාමට උපකාරී මෙවලමක් පමණයි. අවශ්ය විට git rebase --abort මඟින් ආපසු හැරීමේ හැකියාව සැලසේ, එබැවින් නිර්භීතව පළපුරුදු වන්න.