Introduction to git version control system & basic commands

က်ြန္ေတာ္တုိ့ ဒီေနမွာေတာ့ git version control system ကုိ ေလ့လာၾကရမွာျဖစ္ပါတယ္။ဒီ article ကုိ လာဖတ္တယ္ဆုိထဲက git & github ဆုိတာကုိ ၾကားဖူးျပီးသားလုိ့ ယံုၾကည္ပါတယ္။အဲ့ေတာ့ မရွည္ေတာ့ပဲ စလုိက္ရေအာင္။

What is git?

git ကေတာ့ version control လုပ္ဖုိ့တြက္သုံးတဲ့ tool တစ္ခုပါ။က်ြန္ေတာ္တုိ့ေတြ program ေတြေရးတယ္ version1or 2 အမ်ိဳးမ်ိဳးထြက္လာတယ္ေပါ့ေနာ္။အဲ့လုိမ်ိဳးေတြကုိ ေသခ်ာထိန္းသိမ္းနုိင္ေအာင္ လုပ္ေပးနုိင္တဲ့ tools တစ္ခုပါ။

Why do we need git?

git မသုံးဘူးပဲ ထားၾကည့္လုိက္ရေအာင္။က်ြန္ေတာ့္မွာ testv1.html ပဲ ရွိတယ္ထားပါေတာ့။ေနာက္တစ္ခါ update ေတြ ေရးမယ္ဆုိ testv2.html ဆုိျပီး သိမ္းျပီး ေရးၾကမလား git ကုိ သုံးျပီး တစ္ခုထဲေရးျပီး ကုိယ္လုိခ်င္သလုိ version ခ်ိန္းလုိ့ရေအာင္လုပ္မလား။က်ြန္ေတာ္ေရာ ခင္ဗ်ားေကာ git ကုိ ေရြးသင့္ပါတယ္။ဘာေၾကာင့္လဲဆုိေတာ့ project ေတြေရးျပီဆုိ အားလုံးသိျပီးသားတုိင္း တစ္ေယာက္ထဲေရးလုိ့အဆင္မေျပတာေကာ ေစာနကလုိ တစ္ခုျပီး တစ္ခု save ေနမယ္ဆုိလဲ အဆင္ေျပမွာ မဟုတ္ပါဘူး။

Git Vs Github?

က်ြန္ေတာ္ေရးတာေတြသည္ မသိေသးတဲ့သူမ်ား တြက္ပဲ ရည္ရြယ္တာမိုုိ့လုိ့ ဒီေန့ article မွာ နည္းနည္းရွည္ပါမယ္။လြယ္လြယ္ကူကူ ေျပာရရင္ေတာ့ git ကေတာ့ version control tool တစ္ခုျဖစ္ျပီး github ကေတာ့ အဲ့ tool ကုိအသုံးျပဳျပီး သုံးရတဲ့ hosting serviceပါ။လြယ္လြယ္ကူကူေျပာရရင္ code ေတြသိမ္းေပးတယ္ေပါ့။

How to install git?

Git ကုိေတာ့ ဒီ official website ကေန download ဆြဲ install လုပ္လုိ့ရပါတယ္။

For Windows User

https://hackernoon.com/install-git-on-windows-9acf2a1944f0

For Mac User

https://www.atlassian.com/git/tutorials/install-git

For Ubuntu User

Check Git installion by typing git –version

Intro ျပီးျပီဆုိေတာ့ basic ကုိ သြားၾကရေအာင္။

Project Structure

  • git project
    • index.html

အဲ့ေတာ့ က်ြန္ေတာ္တုိ့ git ကုိ install လုပ္ျပီးသြားျပီဆုိ project folder ထဲကုိ terminal ကေန cd နဲ့ ၀င္လုိက္ပါ။example အရဆုိ cd your_directory/git_project/ ဆုိျပီး၀င္လုိက္ပါ။က်ြန္ေတာ္ကေတာ့ git_project ရွိတဲ့ေနရာျဖစ္တဲ့ cd ~/Desktop/blogging/git_project/ ဆုိျပီး ၀င္လုိက္ပါတယ္။

က်ြန္ေတာ္တုိ့ လက္ရွိမွာေတာ့ index.html ထဲမွာ ဘာမွမေရးရေသးပါဘူး။အဲ့ေတာ့ project folder ထဲကုိ ေရာက္ေနျပီဆုိေတာ့ git version control ကုိ စခ်င္တယ္ဆုိ git init ဆုိတဲ့ command ေလးရုိက္လုိက္မယ္ဆုိ ေအာက္ကတုိင္းေတြ့ရမွာပါ။

အဲ့ေတာ့ .git ဆုိျပီး folderေဆာက္လုိက္တာေတြ့ရမွာပါ။linux မွာ ‘.’ ခံလုိက္ရင္ hidden folder ျဖစ္သြားတာမုိ့ show hidden file ကုိ အမွန္ျခစ္လုပ္ထားဖုိ့လုိပါမယ္။

အဲ့ေတာ့ git ကုိ စလုိက္ျပီဆုိေတာ့ ဘာေတြ လုပ္လုိ့ရမလဲဆုိတာၾကည့္ရေအာင္

ပထမဆုံး index.html ထဲမွာ ေအာက္က code ေရးျပီး save လုိက္ပါ။

ျပီးရင္ေတာ့ က်ြန္ေတာ္တုိ့ git status လုိ့ရုိက္ၾကည့္လုိက္ပါ။

အေပါ္က output ကုိ ၾကည့္မယ္ဆုိ က်ြန္ေတာ္တုိ့ index.html ကုိ untracked လုိ့ျပေနပါတယ္။အကယ္လုိ့ က်ြန္ေတာ္တုိ့က သူေအာက္ဆုံးမွာ ေျပာထားတဲ့တုိင္း git add လုပ္ၾကည့္လုိက္မယ္ဆုိ ဒီ file က tracked file ျဖစ္သြားပါျပီ။ကဲၾကည့္လုိက္ရေအာင္

add လုပ္ျပီးတဲ့ အခါမွာ index.html က new file ဆုိျပီးထြက္လာတာေတြ့ရမွာပါ။ဒီေနရာမွာ ဘာေၾကာင့္ add လုပ္ဖုိ့ လုိတာလဲဆုိတာသိဖုိ့လုိပါျပီ။အကယ္လုိ့ က်ြန္ေတာ္တုိ့ add မလုပ္ထားဘူးဆုိ က်ြန္ေတာ္တုိ့ ဘာေတြ changes လုပ္လုိက္လဲ ဘာေတြ commit လုပ္ဖုိ့လုိလဲဆုိတာမသိနုိင္ပါဘူး။commit ကေတာ့ ခနေန ေတြ့ရမွာပါ။အဲ့ေတာ့ က်ြန္ေတ္ာတုိ့ index.html ထဲမွာ စာတစ္ခ်ို့ထပ္ထည့္ျပီး save လုိက္ပါ။က်ြန္ေတာ္ကေတာ့ Hello World ေနရာမွာ Hello Pyrobocity လု့ိျပင္လုိက္မယ္ဆုိ။

git status ျပန္ရုိက္ၾကည့္တဲ့ အခါမွာ ကုိယ္ ျပင္ထားတဲ့ file name ကုိေတြရမွာပါ။အဲ့ေတာ့ status သည္ ဘာေတြျပင္ထားလဲနဲ့ ကုိယ့္ repository ရဲ့ အေျခအေနကုိၾကည့္တာ add ကေတာ့ track လုပ္ဖုိ့နဲ့ ေနာက္တစ္ခ်ိန္ commit လုပ္တဲ့ခါ ပါသြားမယ့္ file ေတြကုိ ထည့္ဖုိ့ command ျဖစ္ပါတယ္။

Commit ကုိ ဆက္ေလ့လာရေအာင္

အခုက်ြန္ေတာ္တုိ့ index.html ကုိ add လုပ္ျပီးသားဆုိေတာ့ commit လုပ္တယ္ဆုိတာက record လုပ္တာပါ။ဥပမာ ငါဘာေတြ ေရးထားတယ္ဒီေန့ ဆုိျပီး မွတ္လုိက္တဲ့ သေဘာပါပဲ။ၾကည့္လုိက္ရေအာင္

ဆုိျပီး  -m “Your message” နဲ့ commit လုပ္လုိက္မယ္ဆုိ မိမိကုိယ္တုိင္ျဖစ္ျဖစ္ ေနာက္တစ္ေယာက္က ဒီ codeေတြကုိ ေဒါင္းျပီး ေအာက္ကတုိင္း ျပန္ၾကည့္တဲ့အခါမွာ

ဆုိျပီး commit ေနာက္က random string အရွည္ရယ္ Author: ရယ္ ဘယ္ေန့က add လုပ္ထားတယ္ဆုိတဲ့ Date ရယ္ေတြ့ရမွာပါ။Author ေနရာမွာ မိတ္ေဆြတို့ အခုမွစလုပ္တယ္ဆုိ ေတြ့ရမွာက unknown ျဖစ္ဖုိ့မ်ားပါတယ္။က်ြန္ေတာ္က configure လုပ္ျပီးသားမုိ့ပါ။

အဲ့ေတာ့ commit လုပ္ျပီးျပီဆုိေတာ့ ဘာေတြ ေကာင္းသြားမလဲ ဆုိတာ ၾကည့္ရေအာင္။က်ြန္ေတာ္တုိ့ အခု index.html ထဲမွာ Hello Pyrobocity ဆုိျပီး ျဖစ္ေနပါတယ္။အဲ့တာကုိ ထပ္ change ၾကည့္လုိက္ရေအာင္ Hello Pyrobocity from Simp13 ဆုိျပီး။

change ျပီး ျပန္ save ျပီး git status လုိ့ရုိက္လုိက္မယ္ဆုိ ေရွ့တုန္းကတုိင္းေတြ့ရမွာပါ။ဒါဆုိရင္ေတာ့ ဘာလုပ္ရမလဲဆုိေတာ့ ထုံးစံတုိင္း ျပန္ add မယ္ commit လုပ္မယ္ git log နဲ့ၾကည့္မယ္။

အဲ့တာဆုိ က်ြန္ေတာ္တုိ့ git log နဲ့ ၾကည့္တဲ့ အခါမွာ updated ဆုိတဲ့ commit ကုိထပ္ေတြ့ရပါျပီ။အခု လုပ္ရမွာကေတာ့ အကယ္လုိ့ က်ြန္ေတာ္တုိ့ ေရးထားတာေတြကုိ ဥပမာ Hello Pyrobocity from Simp13 ကုိ နဂုိ ေရးထားတဲ့ Hello Pyrobocity ကုိ ျပန္ေျပာင္းခ်င္တယ္ဆုိ ဘယ္လုိလုပ္မလဲေပါ့္ေနာ္။အလြယ္ေျပာရရင္ေတာ့ Updated ကေန Added ကုိ ျပန္သြားတဲ့သေဘာပါ။

အဲ့ေတာ့ က်ြန္ေတာ္တုိ့ ဒီ commit နွစ္ခုၾကားမွာ က်ြန္ေတာ္တုိ့ ေျပာင္းခ်င္တာက Hello World From Simp13 ကေန ေျပာင္းခ်င္တာျဖစ္လုိ့ သူ့ရဲံ commit number ျဖစ္တဲ့ 26eb16d9465108af08b09c664d04867d6efff90a ကုိၾကည့္လုိ္က္ရေအာင္

အနီေရာင္နဲ့ အစိမ္းေရာင္ေလးနဲ့ ဘာကြာျခားလဲကုိ ေျပာထားပါတယ္။က်ြန္ေတာ္တုိ့ Hello World ကေန ျပီး Hello Pyrobocity ကုိ သြားထားတာကုိေတြ့ရမွာပါ။ဘာေၾကာင့္ Hello World ျဖစ္ေနလဲဆုိ git add လုပ္လုိက္တုန္းက Hello World နဲ့ပဲ add လုပ္လုိက္တာပါ။အဲ့တာေၾကာင့္ မိတ္ေဆြ changes ေတြလုပ္ျပီး ပါေစခ်င္ရင္ git add ျပန္လုပ္ေပးပါ။အဲ့ေတာ့ က်ြန္ေတာ္တုိ့ git revert လုပ္လုိက္မယ္ဆုိ အနီေရာင္ျဖစ္ေနတဲ့ changes ကုိ ျပန္ေရာက္သြားပါလိမ့္မယ္။

git revert ဆုိျပီး commit ရဲ့ random string ကုိထည့္ေပးျပီး revert လုပ္လုိက္ေတာ့ ျပန္ခ်ိန္းသြားျပီး commit တစ္ခုသူ့ဘာ့သာ လုပ္သြားတာေတြ့ရပါမယ္။revert က သိထားရမွာပါ သူ့ဘာ့သာ commit ထပ္လုပ္ပါတယ္။အားလုံးေက်းဇူးတင္ပါတယ္။

 

Share:

Leave a Reply