របៀបប្រើប្រាស់Command Line ជាមួយ Git
User Guide Version 1.0
១.សេចក្តីផ្តើម
– ហេតុអ្វីបានជាយើងចាំបាច់ត្រូវប្រើប្រាស់ Git?
ក្នុងការប្រើប្រាស់ Git វាមានសារៈសំខាន់ដើម្បីអោយអ្នកDeveloper ធ្វើការ Push និង Pull Projects ចូល/ចេញទៅក្នុង Server។ វាមានលក្ខណៈងាយស្រួលក្នុងការគ្រប់គ្រងកូដ បែងចែកការងារ (Tasks) ទៅអោយក្រុម (Team) និងតាមដានរាល់សកម្មភាពរបស់ក្រុមនិមួយៗបានយ៉ាងមានប្រសិទ្ធភាព។
ទន្ទឹមនឹងនេះដែរ ខ្ញុំបាទក៏ទើបតែចាប់ផ្តើមប្រើប្រាស់នូវ Git សម្រាប់ធ្វើការទៅលើ project ដែរ។ ដូចនេះរាល់ការបកស្រាយឬក៏ពន្យល់មានការខុសឆ្គងឬក៏ពាក្យបច្ចេកទេសមិនសូវត្រឹមត្រូវ សូមជួយណែនាំក៏ដូចជាកែតម្រូវរាល់ពាក្យពេចន៏ដែលបានបកស្រាយជូនផងដែរ។ នេះគ្រាន់តែជាអ្វីដែរខ្ញុំបានសិក្សាពីលោកគ្រូ ក៏ដូចជាមិត្តភក្តិ និងការសិក្សាស្រាវជ្រាវដោយខ្លួនឯង ដើម្បីចងក្រងទុកជាឯកសារមើលនៅពេលដែលយើងភ្លេច។
២.តម្រូវការ
ដើម្បីប្រើប្រាស់ Git បាន យើងចាំបាច់ត្រូវមាន៖
- Tool មួយឈ្មោះថា Git ដោយចូលទៅdownload នៅក្នុង Website
- https://gitforwindows.org/
- បន្ទាប់មកធ្វើការ Setup វា
- ចំណាំ៖ ចំពោះអ្នកប្រើប្រាស់ Window តែប៉ុណ្ណោះទើបតម្លើងវា តែសម្រាប៉អ្នកដែលប្រើប្រាស់ Mac គឺមិនចាំបាច់តម្លើងវាឡើយ
- ត្រូវRegister Account នៅក្នុង GitLab
- https://gitlab.com/
- ឧបមាថាយើងបាន Register GitLap រួចរាល់ហើយ ដើម្បីយល់កាន់តែច្បាស់ពីរបៀបប្រើប្រាស់ GitLap សូមចូលទៅមើល User Guide ដែលបាន share មុនៗ
៣.ការណែនាំពី Repository
បន្ទាប់ពីយើងបានតម្លើងនូវ Git ចូលទៅក្នុងម៉ាស៊ីនកុំព្យូទ័រដោយជោគជ័យហើយ ឥលូវនេះខ្ញុំសូមបង្ហាញពីរបៀបប្រើប្រាស់ Git command line មួយចំនួនដែលយើងប្រើប្រាស់ញឹកញាប់ក្នុងការធ្វើការជាមួយ Local និង Server។
- Git Repository យើងបែងចែកចេញជាពីរគឺ Local Repository និង Server Repository
- Local Repository: សំដៅទៅលើ Repository ដែលយើងកំពុងតែធ្វើការនៅលើម៉ាស៊ីនកុំព្យូទ័រផ្ទាល់តែម្តង។ មានន័យថា រាល់ការ add, modified, delete, commit, បង្កើត Branch ផ្សេងៗ គឺធ្វើលើម៉ាស៊ីនយើងផ្ទាល់។
- Server Repository: សំដៅទៅលើ Repository ដែលយើងប្រើប្រាស់ធ្វើការនៅលើ Server (GitLab)។
៤.របៀបប្រើប្រាស់ Local Repository
- ជំហានទី១៖ ដំបូងយើងត្រូវចូលទៅកាន់ Git Bash ដោយ
- Right Click លើ Drive ណាមួយក្នុងកុំព្យូទ័ររបស់យើង
- បង្កើតនូវ directory មួយឈ្មោះថា “git_demo” ដោយវាយcommand ក្នុង cmd “md git_demo”
- Right Click លើ folder “git_demo”
- យក Git Bash Here
- វានឹងចេញផ្ទាំងដូចរូប
- បន្ទាប់មកសូមវាយ command : git inti (ដើម្បី initialize git command line)
- ក្នុងនឹងដែរ យើងកំពុងឈរលើ Branch master
- សូមបង្កើតfile មួយឈ្មោះថា “test1.txt” ដោយប្រើប្រាស់ command
- vim : សម្រាប់បង្កើត file រួចយើងអាចសរសេរ content ផ្សេងៗនៅលើ Terminal ផ្ទាល់តែម្តង ដោយមិនចាំបាច់ទៅបើក file ដើម្បីសរសេរ
- touch: ប្រើសម្រាប់តែបង្កើតfile តែប៉ុណ្ណោះ ដើម្បីអាចសរសេរ content បានលុះត្រាតែយើងចូលទៅបើកវា ហើយទើបអាចធ្វើការសរសេរបាន។
- $ vim test1.txt បន្ទាប់មកសូមសរសេរ text ចូល
- ដើម្បីអាចសរសេរបាន យើងត្រូវចុចអក្សរ “s” លើ Keyboard
- ដើម្បីបញ្ឈប់ការសរសេរនូវ Content យើងត្រូវចុច “Esc” លើ Keyboard រួចវាយអក្សរ: “:x!”
- ឆែកមើល files របស់យើង ថាតើបាន add / commit ហើយរឺនៅ ដោយប្រើប្រាស់ command “git status”
- ក្នុងនេះយើងឃើញមានfileមួយមានពណ៍ក្រហម ជាមួយពាក្យថា Untracked files មានន័យថា file របស់យើងមិនទាន់បាន add ចូលទៅក្នុង repository នៅឡើយទេ។
- ដើម្បី add file ទាំងនោះចូល យើងត្រូវប្រើ command
- $ git add . បានន័យថា យើងចង់ add files ទាំងអស់ ចូលទៅក្នុង repository
- $ git add test1.txt បានន័យថា យើងadd តែfile test1.txt ចូលតែប៉ុណ្ណោះ
- សូមឆែកមើល status របស់វា
- ពណ៍បៃតងមានន័យថា files យើងមិនទាន់បាន commit នៅឡើយទេ
- បន្ទាប់ពី add រួចយើងត្រូវ commit វា ដោយប្រើ command git commit –m “message”
- សូមឆែកមើល status របស់វា
- មានន័យថា រាល់ការងាររបស់យើងត្រូវបាន add / commit រួចរាល់ចប់សព្វគ្រប់នៅក្នុង local repository
- ជំហ៊ានទី២៖ របៀបបង្កើត Branch
- ឆែកមើល Status របស់ branch
- $ git branch
- ឥលូវយើងមានតែ branch តែមួយគត់គឺ master
- ដើម្បីបង្កើត branch យើងត្រូវ វាយនូវ command: “git branch branch1”
- ឆែកមើល Status របស់ branch
- ឥលូវយើងមានតែ branch ពីរគឺ master និង branch1
- ដើម្បី switch branch យើងត្រូវវាយ command: “git checkout nameOfBranch”
- ឥលូវយើងកំពុងឈរលើ branch1
- សូមធ្វើការ List មើល files ក្នុង branch1 ដោយវាយ command: “ll”
- ពេលនោះរាល់files ដែលមានក្នុង branch master ត្រូវមាននៅក្នុង branch1 ដូចគ្នា ពីព្រោះនៅពេលដែលយើងបង្កើត branch1ដំបូង គឺយើងឈរនៅលើ branch master ដូចនេះBranch master មានអី នាំអោយ branch1 មានដូចគ្នា
- សូមធ្វើការបង្កើត files ចំនួន ២ទៀតនៅក្នុង branch1
- txt
- txt
- បន្ទាប់មកសូម git add . និង git commit –m “message”
- រួច List មើល
- សូមបង្កើត branch មួយទៀត ឈ្មោះថា “branch2” រួចបង្កើតនៅ files ចំនួន ២ទៀត គឺ
- txt
- txt
- រួច List មើល
- Switch ចូល branch1
- ករណីដែលយើងចង់ធ្វើការ merge branch “branch1 និង branch2” បញ្ចូលគ្នា យើងត្រូវកំណត់ source និង destination repository៖
- Source: branch2
- Destination: branch1
- ដើម្បី merge branch បាន យើងត្រូវឈរលើ destination branch
- វាយCommand “git merge sourceBranch”
- ដូចនេះយើងទទួលបាន branch1 ដែលមានfiles ដូចទៅនឹង branch2
៥.របៀបប្រើប្រាស់ Server Repository
- ជំហានទី១៖ ខ្ញុំបានបង្កើតនូវ Group មួយឈ្មោះថា group_demo ដែលក្នុង group ហ្នឹង មាន project ឈ្មោះថា project_demo
- ជំហានទី២៖ ដើម្បីអាចអោយ Team ធ្វើការងាររួមគ្នាបាន យើងត្រូវ Clone project ចេញពី Server Repository សិន
- Go to gitLab.com
- Copy the url
- Open Git Bash
- វាយ command “git clone git@gitlab.com:group_demo/project_demo.git”
- ចូលទៅកាន់ folder “project_demo”
- វាយ “cd project_demo”
- សូមបង្កើតនូវ file មួយឈ្មោះថា txt ក្នុង Branch master
- ដើម្បី push files ចូលទៅក្នុង server repository យើងត្រូវ វាយ command:
- $ git push origin branch1 (ត្រង់ branch1 យើងអាចដាក់ឈ្មោះអីក៏បានដែរ)
- ចំណាំ៖ ករណី Push ទៅវាមាន error
- ដំណោះស្រាយ ត្រូវ
- Generate key ដោយមិនមាន passphraseដោយវាយ command line: $ ssh-keygen -t rsa -C “ho.sysome@gmail.com” -b 4096
- បន្ទាប់មកវាយ cat ~/.ssh/id_rsa.pub | clip
- ចូលទៅ gitLab
- Paste key ចូល (right click –> paste)
- សូមធ្វើការ Push ម្តងទៀត
- ចូលទៅមើលក្នុង GitLab
- សូមចុច create merge request ជាការស្រេច