top of page

SourceTree සමඟ පහසුවෙන්ම GIT එක්ක වැඩ කරමු.


ඔබ තවමත් Git එක්ක වැඩ කරන්න දන්නෙ නැතුව ඒ කියන්නෙ repository එකක් හදන්න දන්නෙ නැතුව, commit කරන්න, pull කරගන්න, push කරගන්න branch එකක් හදාගෙන වැඩ කරගන්න දන්නෙ නැතුව ඉන්න කෙනෙක්ද? එහෙනන් මේ blog post එක ඔයාට බොහොම වැදගත් වෙන්න පුලුවන්.

Version control system එක්ක අපිට විවිධ අවස්ථා වලදී වැඩ කරන්න සිදු වෙනව. IT field එකේ ඉන්න කෙනෙක්ට, එහෙම නැත්නම් software developer කෙනෙකුට මේ දේ නැතුවම බෑ. Version control වලට උදාහරණ විදියට Git hub, Mercurial, Perforce ගන්න පුලුවන්.

ඉතින් මේ කියන version control system මූලික වශයෙන් භාවිතා කරන්නෙ එකම project එකක් develop කරන developer team එකකට ඒ දේ පහසුවෙන් කරගන්න අවශ්‍ය environment එක හදල දෙන එක.

ඒ මොකද කියනවනන් source code එකට අදාල errors fix කරන්න, development වලදි risk එක අඩු කරගන්න වගේම team membersල අතරෙ පැන නැගෙන යම් ගැටලු සඳහාද මේ දේ බොහොම වැදගත් වෙනව.

මම version control හඳුන්වා දෙන්න මේ ලිපියෙන් කාලය ගන්නෙ නෑ. ඒ මොකද කියනවනන් අද කතා කරන්නෙ එතනින් එහාට ගිය කොටසක් පිලිබඳව. Git hub වල මූලික දේවල් අවශ්‍යනම් මම ඉදිරි ලිපියකින් ඒ කොටස ආවරණය කරන්නම්. ඇත්තටම කියනවනන් මේ කොටසට එන්න version control වල වෙන දේ ගැන මූලික අවබෝධයක් තියෙන්න ඕනෙ.

අපි topic එකට එමු.

බොහෝ දෙනෙක් git එක්ක වැඩ කරගෙන යද්දි මුහුණ දෙන්න වෙන ගැටලු බොහොමයි. මටත් තිබුන ලොකුම ගැටලුවක් තමයි Git hub හෝ Bitbucket එක්ක වැඩ කරන්නෙ කොහොමද කියන එක.

බොහෝ දෙනෙක් branch එක්ක වැඩ කරන්න git bash වගේ terminal පාවිච්චි කරනව. එහෙමත් නැත්නම් git desktop, tortoise Git වගේ software පාවිච්චි කරනව.

GitBash terminal එකක් තමයි මේ.

මමත් මේ දේවල් මුලින් use කරපු කෙනෙක්. නමුත් මට මුහුන දෙන්න වුන ප්‍රධාන ගැටලුව තමයි ඒව එකක්වත් හිතපු තරම් user friendly නෑ. යම් යම් වාසි තියනව, නමුත් අලුතෙන්ම මේ දේවල් ඉගෙන ගන්න කෙනෙකුටනම් විශාල ගැටලු ප්‍රමාණයකට මුහුන දෙන්න වෙනව මේ කියපු software එක්ක හෝ terminal එකත් එක්ක වැඩ කරනවනම්.

නමුත් SourceTree කියන software එක මගින් Git hub එක්ක ගනුදෙනු කරන්න ඉතා පහසුයි. ඒ මොකද කියනවනන් user friendly UI එකක් එක්ක එන මේ software එකෙන් ඉතා පහසුවෙන් අපිට අවශ්‍ය දේවල් ටික කරගන්න පුලුවන්.

ඒ වගේම තමයි SourceTree කියන්නෙ Git සහ Mercurial කියන version control දෙකට support කරන වඩාත් සරල GUI එකක් සහිත පාවිච්චි කරන්න ඉතා සුදුසු software එකක්.

මේ link එකට ගිහින් අදාල setup එක download කරගෙන install කරගන්න.

SSH key add කර ගැනීම.

SourceTree එකේ වැඩ පටන් ගන්න කලින් අපිට කරන්න තව වැඩක් තියනව.

ඒ තමයි SSH key එකක් set කරගන්න එක. මුලින්ම SSH key එක ගැන කතා කලොත් අපි unsecure network එකක් හරහා data transfer කරනවනන් plain text එක යවන්නෙ නෑ. Cryptography ගැන අවබෝධයක් තියනවනන් public key encryption ගැන දන්නව ඇති.

මෙතනදි වෙන්නෙත් ඒ වගේම වැඩක්. අපි key generator එකක් use කරල public key එකක් සහ private key එකක් හදා ගන්නව.

මේ key දෙකෙන් public key එක දෙනව version control එකට. Private key එක දෙනව sourceTree එකට.

මේ key දෙක වැඩ කරන්නෙ පහලින් තියන විදියට.

දැන් අපි බලමු කොහොමද මේ key generate කරගෙන add කරගන්නෙ කියන එක.

මේ සඳහා අපිට තවත් පොඩි software එකක් ඕනෙ වෙනවා. ඒ තමයි puTTYgen.

මේක key gen software එකක්. අපිට ඕනෙ කරන key වර්ග දෙකම මේකෙන් හදාගන්න පුලුවන්. ඒ කොහොමද කියල දැන් බලමු.

මේ දේවල් හරිම සරල දේවල්. ඒ නිසා අමාරුයි කියල අතාරින්න එපා.

මේ link එකෙන් software එක download කරගෙන install කරගන්න.

දැන් කරන්න තියෙන්නෙ key generate කරගන්න එක.

Step – 1

මුලින්ම software එක open කරගන්න.

Step – 2

දැන් "generate" කියන button එක click කරන්න. Click කරල නිකන් ඉඳල හරියන්නෙ නෑ. තියන empty area එකේ mouse pointer එක වේගයෙන් move කරන්නත් ඕනෙ. එතකොට තමයි key එක ඉක්මනටම generate වෙන්නෙ. ටිකක් අමුතුම අත්දැකීමක් නේද? ;-)

Step – 3

දැන් කරන්න තියෙන්නෙ "save public key" සහ "save private key" කියන button දෙක use කරල key දෙක මතක තියන තැනක save කරගන්න.

එතකොට public key eka .pub සහ private key එක .ppk කියන extension වලින් save වෙයි.

දැන් key generate කරන part එක ඉවරයි. දැන් කරන්න තියෙන්නෙ generate කරගත්ත key දෙක add කරගන්න එක.

මුලින්ම අපි SourceTree එකට private key එක add කරමු.

දැන් tools > Launch SSH Agent… වලින් SSH එක launch කරගන්න.

මේ කහ පාට රවුමෙන් පෙන්නල තියන icon එක click කරල පහලින් පෙන්නල තියන window එක ගන්න.

මෙතනින් "add key" ගිහින් save කරපු තැනින් private key එක load කරගන්න.

දැන් SourceTree එකට key එක load කරන වැඩේ හරි. දැන් තියෙන්නෙ version control එකට public key එක දෙන්න.

උදාහරණයක් විදියට මම GitHub එකට key එක add karana විදිය පෙන්වන්නම්.

මොකද වැඩි පිරිසක් GitHub use කරන නිසා.

GitHub account එකට log වෙලා Settings > SSH and GPG keys යන්න.

දැන් "add SSH key button" එක clik කරල පහත විදියට public key එකේ text එක copy කරල මේ space එකේ past කරන්න. ඒ වගේම කැමති title එකකුත් add කරන්න.

දැන් key දෙකම add කරගෙන ඉවරයි. දැන් අපිට GitHub එකත් එක්ක ඉතුරු වැඩ ටික කරගෙන යන්න පුලුවන්.

අපි මේ කොටසින් සලකල බලමු දැනට තියන Git Repository එකකින් branch එකක් හදාගෙන ඒ හරහා repository එක clone කරගෙන changes කරල commit සහ pull කරන ආකාරය පිලිබඳව.

අපි මේ විදියට පියවර වශයෙන් සලකා බලමු.

  1. දැනට තියන repository එකකින් branch එකක් හදාගෙන repo එක clone කරගැනීම.

  2. clone කරගත් repo එකේ වෙනස්කම් සිදු කර නැවත commit කිරීම.

  3. සිදු කල වෙනස්කම් push කිරීම.

අපි මේ පිලිබඳ විස්තරාත්මකව කතා කරමු.

අපිට දැනට තියන repo එකක කෙලින්ම changes කරන්න පුලුවන් කමක් නෑ. ඒකට හේතුව තමයි ඒක සම්පූර්ණ project එකටම බලපාන්න පුලුවන්. මේ නිසා අපි තියන repo එකට අදාලව Branch එකක් හදාගන්න අවශ්‍යයි. Git ගැන ලොකු දැනුමක් නැති කෙනෙකුටනම් මේ වචන නුපුරුදු වෙන්න පුලුවන්. ඒ ගැන සලකන්නෙ නැතුව අදහස පමනක් ගත්තානම් ප්‍රමාණවත්.

Branch එක හදාගන්න එකේ අරමුණ තමයි අපිට Branch එක හරහා repo එකට අදාලව අපේ කොටස එහෙමත් නැත්නම් Project එකේ තමන්ට අදාල coding part එක කරල ඒක නිවැරදිනම් project එකට add කරන එක. නැත්නම් master branch එකට add කරන එක.

අපිට repo එකකට අදාලව branch එකක් පහතින් දැක්වෙන විදියට හදාගන්න පුලුවන්.

දැන් කරන්න තියෙන්නෙ හදාගත්ත branch එක හරහා repo එක access කරන්න. මේ සඳහා අපිට URL එකක් දීල තියනව. මේ රූපයෙන් දැක්වෙන්නෙ මේ කියන URL එක. Repo එක ඇතුලට ගියාම මේ URL එක බලාගන්න පුලුවන්. මේක ඉදිරියේදී අපිට අවශ්‍ය වෙනවා.

දැන් අපි නැවතත් SourceTree එක පැත්තට එමු.

දැන් අපි සූදානම් වෙන්නෙ repository එකක් clone කරගන්න. ඒ කියන්නෙ තියන repo එකක copy එකක් අපේ computer එකට අරගන්න එක. හරියටම කියනවනන් repo එක download කරගත්ත වගේ.

මේ දේ ඉතා පහසුවෙන් sourceTree භාවිතයෙන් සිදු කරගන්න පුලුවන්.

File > Clone/New…

"Clone/New" කියන එක click කලාම පහත window එක දැකගන්න පුලුවන්.

අපි මේ fields එකින් එක හඳුනා ගනිමු.

  • මුල්ම text field එකට දෙන්න ඕනෙ අපි clone කරගන්න බලාපොරොත්තුවන repo එකේ URL එක. මේ URL එක ගන්න විදිය ගැන අපි කලින් කතා කලා.

  • දෙවනි text field එකට දෙන්න ඕනෙ අපේ computer එකේ clone කරන file ටික save කරන්න ඕනෙ path එක. අලුත් folder එකක් හදාගෙන ඒකට අදාල path එක දෙන්න. මම Desktop එකේ git repo කියල folder එකක් හදල ඒ path එක තමයි දීල තියෙන්නෙ.

  • තුන්වන text field එකට automatically ම folder name එක assign වෙනව.

  • දැන් "clone" button එක click කරන්න.

දැන් ටික වෙලාවක් අරගෙන files ටික අපි හදපු folder එකට clone වෙයි.

මූලික කොටස දැන් අවසානයි. අනිත් කොටසට යන්න කලින් තවත් පොඩි දෙයක් කරන්න තියනව. ඒ තමයි local branch එකක් හදන එක. මෙතනදි අපි clone කරගත්ත repo එක access කරන්නෙ SourceTree එක හරහා හදාගත්ත local branch එකකින්.

අපි බලමු මේ දේ කොහොමද කරගන්නෙ කියල.

Clone කරගත්තට පස්සෙ හම්බවෙන window එකේ උඩ bar එකේ තියන "branch" icon එක click කරන්න. ලැබෙන popup window එකට local branch එකට අදාලව කැමති නමක් දීල "create branch" button එක click කරන්න.

දැන් හදාගත්ත branch එක master branch එකට සම්බන්ධ වෙලා තියන විදිය visually බලාගන්න පුලුවන්.

මම local branch එක හදාගත්තෙ backend_FAQ කියන නමෙන්. ඒ වගේම මම GitHub එකේ හදපු branch එකත් තියෙන්නෙ backend_FAQ කියන නමින්ම තමයි.

දැන් අපි clone කරගත්ත project එක text editor එකකින් open කරගන්න. අපි ඒකෙ තියන files වලට සිදු කරන ඕනෙම වෙනස්කමක් ඒ වෙලාවෙම SourceTree එකෙන් අදුනගන්නව.

උදාහරණයක් විදියට අපි එක file එකක් වෙනස් කරමු.

File එක edit කරල save කලාම මේ විදියට අපිට ඒක පෙන්නනව.

වම් පැත්තෙ තියන backend_FAQ කියන branch එක උඩ click කලාම මේ විදියට පෙන්වාවි. රතු පාටින් රවුම් කරල තියන තැන පෙන්නල තියනව commit කරල නැති change එකක් වෙලා තියන files තියනව කියල.

ඒක උඩ click කලාම නිල් පාටින් රවුම් කරල තියන තැන edit කරපු files මොනවද කියල පෙන්නනව.

ඔන්න දැන් අපි එන්නෙ තවත් විශේෂ කොටසකට.

මෙතනදි අපිට හමු වෙනව stage කියන වචනෙ. Unstaged files කියන කොටසෙ තියෙන්නෙ files set එකක්. මෙතනින් අපිට තෝරගන්න පුලුවන් මොනවද commit කරන්න ඕනෙ files කියල. මේකට තමයි stage කරනව කියල කියන්නෙ.

මෙතන පෙන්නල තියන files දෙකෙන් මට VoteGrid.js කියන file එක විතරක් තෝරගන්න ඕනෙනම් ඒ file එක උඩ click කරල "stage selected" කියන button එක click කරන්න. එහෙම නැත්නම් "stage all" කියන option එකත් දීල තියනව.

මේ රූපයෙන් පෙන්වන්නෙ මට ඕනෙ කරන file එක stage කලාට පස්සෙ පෙන්නන විදිය.

දැන් බලමු stage කරපු file කොහොමද commit කරන්නෙ කියන එක.

Stage කලාට පස්සෙ උඩ තියන bar එකෙන් "commit" button එක click කරන්න. එතකොට මේ වගේ message එකක් enter කරන්න box එකක් එයි. මෙතනට දෙන්න ඕනෙ මේ commit එක ගැන පොඩි වචන දෙක තුනක පැහැදිලි කිරීමක්.

දැන් "Commit" කියන button එක click කරන්න.

Commit කරන කොටස සම්පූර්ණයි. දැන් තියෙන්නෙ push කරන්න. ඒ කියන්නෙ අපි කරපු change එක දැනට තියෙන්නෙ local branch එකේනෙ.

ඒක GitHub එකේ තියන branch එකෙත් update කරන්න. එහෙමත් නැත්නම් remote branch එකේ update කරන්න.

Commit කලාම branch එකේ වගේම push button එක ලඟත් commit එකක් indicate කරගෙන තියනව කියල පෙන්නනව.

මේ “1” කියල පෙන්නල තියෙන්නෙ ඒක. දැන් කරන්න තියෙන්නෙ push කරන්න. මේකට උඩ bar එකේ තියන “Push” button එක click කරන්න. එතකොට මේ තියනව වගේ popup window එකක් පෙන්නයි.

මෙතනදි අපි ඉන්න local branch එක සහ remote branch ටික පෙන්නනව. කරන්න තියෙන්නෙ අපිට අදාල remote branch එක select කරල “push” button එක click කරන එක.

Repo එකක් clone කරගෙන commit එකක් සහ push එකක් SourceTree පාවිච්චි කරල කොහොමද සිදු කරන්නෙ කියන එක ගැන ඉතා සරලව පැහැදිලි කිරීමක් කලා. මේ දේ try කරල බලන්න.

මොකද කියනවනන් හරියට මේ දේ කරගන්න පුලුවන්නම් open source software වලට contribute කරනව වගේම competition වලටත් ඉදිරිපත් වෙන්න පුලුවන්. Software developing කරන කෙනෙක්නම් මේ දේ අනිවාර්යයෙන් දැනගෙන සිටිය යුතුයි.

ඕනෙම ගැටලුවක් තියනවනන් comment කරන්න. අපි මේ කතා කලේ Git වල ප්‍රධාන දෙයක්. තවත් දේවල් ගොඩක් තියනව. ඉදිරි ලිපි වලින් අපි ඒ ගැනත් කතා කරමු. මේ ලිපියෙන් කුමක් හෝ දෙයක් ලබාගත්තානම් ඒ දේ තමයි මම බලාපොරොත්තු වෙන්නෙ. තවත් ලිපියකින් හමු වෙමු.

මූලාශ්‍ර : -

bottom of page