របៀបប្រើប្រាស់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 ជាការស្រេច