## មូលដ្ឋាននៃ GIT សម្រាប់អ្នកចាប់ផ្តើមធ្វើបណ្តាញ👶 ## Git ជាអ្វី? 1. Git គឺជាប្រព័ន្ធគ្រប់គ្រងបណ្តុំជាតិសម្រាប់ការគ្រប់គ្រងកូដ។ 2. មូលដ្ឋានកូដទាំងមូល និងប្រវត្តិអាចប្រើបាននៅលើកុំព្យូទ័ររបស់អ្នកអwickdeveloper រាល់គ្នា ដែលអនុញ្ញាតឲ្យតំបន់សាធារណៈ និងការរួមបញ្ចូលជាងងាយស្រួល។ 3. វាត្រូវបានប្រើជាប្រព័ន្ធគ្រប់គ្រងកំណែ (VCS) សម្រាប់តាមដានការផ្លាស់ប្តូរនៅក្នុងឯកសារកុំព្យូទ័រ។ * ប្រព័ន្ធគ្រប់គ្រងកំណែចែកចាយ * ប្រតិបត្តិការការងារសហការពីអ្នកអwickdeveloper ច្រើន * តើនរណាបានធ្វើការផ្លាស់ប្តូរអ្វី និងពេលណា * ការបង្វិលត្រឡប់ក្រោយនៅពេលណាមួយ * ឃ្លាំងទិន្នន័យក្នុងមូលដ្ឋាន និងឃ្លាំងឆ្ងាយ ## គោលការណ៍នៃ GIT * តាមដានប្រវត្តិកូដ * យករូបថត "snapshots" នៃឯកសាររបស់អ្នក * អ្នកជ្រើសរើសពេលយក​រូបថត ដោយធ្វើ "commit" * អ្នកអាចទៅកាន់រូបថតណាមួយនៅពេលណាមួយ * អ្នកអាចរៀបចំឯកសារមុនពេលបញ្ជាក់ commit ### ប្រៀបធៀប Git និង GitHub | Git | GitHub | | ------- | ----------- | | Git គឺជាកម្មវិធីហ្គោល | GitHub គឺជាសេវាកម្មផ្សព្វផ្សាយមេឃ | | Git ត្រូវបានដំឡើងនៅលើប្រព័ន្ធក្នុងមូលដ្ឋាន | GitHub ត្រូវបានផ្ដល់នៅលើបណ្តាញគេហទំព័រ | | វាជាឧបករណ៍បញ្ជារបញ្ជា | វាជាផ្ទៃប្រើប្រាស់ក្រាហ្វិច | | Git ត្រូវបានថែទាំដោយ Linux | GitHub ត្រូវបានថែទាំដោយ Microsoft | | វាមានផ្តោតលើការគ្រប់គ្រងកំណែ និងចែករំលែកកូដ | វាមានផ្តោតលើការផ្ទុកកូដប្រភពតាំងមូល | | Git គឺមានលិខិតអាជ្ញាប័ណ្ណបើកចំហ | GitHub មានផ្នែកឥតគិតថ្លៃ និងផ្នែកបង់ប្រាក់ | | Git ត្រូវបានចេញផ្សាយនៅឆ្នាំ 2005 | GitHub ត្រូវបានចេញផ្សាយនៅឆ្នាំ 2008 | ## ការដំឡើង GIT * Linux(Debian) `$sudo apt-get install git` * Linux(Fedora) `$sudo yum install git` * [ទាញយក](http://git-scm.com/download/mac) សម្រាប់ Mac * [ទាញយក](http://git-scm.com/download/win) សម្រាប់ Windows ### ជំហានដំណើរការដំឡើង: 1. 2. 3. 4. 5. 6. បន្ទាប់មក ចុច Next > Next > Next > Install 7. ### បន្ទាប់ពីដំឡើង អ្នកត្រូវតែតំឡើងការកំណត់ git ដោយប្រើ git bash 1. `git config --global user.name 'YourName'` 2. `git config --global user.email 'YourEmail'` ___ ## ពាក្យបញ្ជា Git ___ ### ទទួលយក និងបង្កើតគម្រោង | ពាក្យបញ្ជា | សេចក្ដីពិពណ៌នា | | ------- | ----------- | | `git init` | ចាប់ផ្តើមឃ្លាំង Git ក្នុងតំបន់ក្នុងមូលដ្ឋាន | | `git clone ssh://git@github.com/[username]/[repository-name].git` | បង្កើតច្បាប់ lokalen ពីឃ្លាំងឆ្ងាយ | ### រូបថតមូលដ្ឋាន | ពាក្យបញ្ជា | សេចក្ដីពិពណ៌នា | | ------- | ----------- | | `git status` | ពិនិត្យស្ថានភាព | | `git add [file-name.txt]` | បញ្ចូលឯកសារចូលតំបន់រៀបចំ staging | | `git add -A` | បន្ថែមឯកសារថ្មី និងដែលបានផ្លាស់ប្តូរទាំងអស់ទៅ staging | | `git commit -m "[commit message]"` | បញ្ជាក់ការផ្លាស់ប្តូរ | | `git rm -r [file-name.txt]` | លុបឯកសារ (ឬថត) | | `git push` | បើកបញ្ចូលទៅឃ្លាំងឆ្ងាយ | | `git pull` | ទាញយកបំលែងថ្មីពីឃ្លាំងឆ្ងាយ | ### បង្កាន់ដៃ និង បញ្ចូលកូដចូលគ្នា | ពាក្យបញ្ជា | សេចក្ដីពិពណ៌នា | | ------- | ----------- | | `git branch` | បញ្ជីបង្កាន់ដៃ (តួរបញ្ចូលសញ្ញាភាគរយបង្ហាញបង្កាន់ដៃបច្ចុប្បន្ន) | | `git branch -a` | បញ្ជីបង្កាន់ដៃទាំងអស់ (ក្នុងស្រុក និងឆ្ងាយ) | | `git branch [branch name]` | បង្កើតបង្កាន់ដៃថ្មី | | `git branch -D [branch name]` | លុបបង្កាន់ដៃ | | `git push origin --delete [branch name]` | លុបបង្កាន់ដៃឆ្ងាយ | | `git checkout -b [branch name]` | បង្កើតបង្កាន់ដៃថ្មី និងប្ដូរទៅកាន់វា | | `git checkout -b [branch name] origin/[branch name]` | ចម្លងបង្កាន់ដៃឆ្ងាយ និងប្ដូរទៅកាន់វា | | `git branch -m [old branch name] [new branch name]` | ប្តូរឈ្មោះបង្កាន់ដៃក្នុងស្រុក | | `git checkout [branch name]` | ប្ដូរទៅបង្កាន់ដៃ | | `git checkout -` | ប្ដូរទៅបង្កាន់ដៃដែលបានភ្ជាប់ចុងក្រោយ | | `git checkout -- [file-name.txt]` | បោះបង់ការផ្លាស់ប្តូរនៅក្នុងឯកសារ | | `git merge [branch name]` | បញ្ចូលបង្កាន់ដៃមួយទៅកាន់បង្កាន់ដៃសកម្ម | | `git merge [source branch] [target branch]` | បញ្ចូលបង្កាន់ដៃទៅបង្កាន់ដៃគោលដៅ | | `git stash` | រក្សាទុកការផ្លាស់ប្តូរនៅក្នុងថតការងារបន្លឺ | | `git stash clear` | លុបចេញពីការរក្សាទុកទាំងអស់ | ### ចែករំលែក និងធ្វើបច្ចុប្បន្នភាពគម្រោង | ពាក្យបញ្ជា | សេចក្ដីពិពណ៌នា | | ------- | ----------- | | `git push origin [branch name]` | បើកបញ្ចូលបង្កាន់ដៃទៅឃ្លាំងឆ្ងាយ | | `git push -u origin [branch name]` | បើកបញ្ចូលការផ្លាស់ប្តូរទៅឃ្លាំងឆ្ងាយ (ហើយចងចាំបង្កាន់ដៃ) | | `git push` | បើកបញ្ចូលការផ្លាស់ប្តូរទៅឃ្លាំងឆ្ងាយ (បង្កាន់ដៃដែលបានចងចាំ) | | `git push origin --delete [branch name]` | លុបបង្កាន់ដៃឆ្ងាយ | | `git pull` | បន្ទាន់សម័យឃ្លាំងក្នុងស្រុកទៅកំណែថ្មីបំផុត | | `git pull origin [branch name]` | ទាញយកការផ្លាស់ប្តូរពីឃ្លាំងឆ្ងាយ | | `git remote add origin ssh://git@github.com/[username]/[repository-name].git` | បន្ថែមឃ្លាំងឆ្ងាយ | | `git remote set-url origin ssh://git@github.com/[username]/[repository-name].git` | កំណត់បង្កាន់ដៃឃ្លាំងទៅ SSH | ### ការត្រួតពិនិត្យ និងប្រៀបធៀប | ពាក្យបញ្ជា | សេចក្ដីពិពណ៌នា | | ------- | ----------- | | `git log` | មើលការផ្លាស់ប្តូរ | | `git log --summary` | មើលការផ្លាស់ប្តូរ (លម្អិត) | | `git log --oneline` | មើលការផ្លាស់ប្តូរ (សង្ខេប) | | `git diff [source branch] [target branch]` | 미리보기ការផ្លាស់ប្តូរមុនពេលបញ្ចូលគ្នា | --- **ការបដិសេធ**: ឯកសារនេះត្រូវបានបកប្រែដោយប្រើសេវាកម្មបកប្រែ AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ទោះបីយើងខិតខំសំរាប់ភាពត្រឹមត្រូវ ក៏សូមយកចិត្តទុកដាក់ទៅលើការមានកំហុស ឬភាពមិនត្រឹមត្រូវដែលអាចមាននៅក្នុងការបកប្រែដោយស្វ័យប្រវត្តិ។ ឯកសារដើមដោយភាសាដើមគឺជាមូលដ្ឋានផ្លូវការដែលត្រូវគេពិចារណា។ សម្រាប់ព័ត៌មានសំខាន់ៗ សូមផ្តល់អាទិភាពការបកប្រែដោយមនុស្សដែលមានជំនាញវិជ្ជាជីវៈ។ យើងមិនទទួលបន្ទុកចំពោះការយល់ច្រឡំ ឬការបកប្រែខុសដែលកើតឡើងពីការប្រើប្រាស់ការបកប្រែនេះឡើយ។