នៅទូទាំងពិភពលោក Git គឺជាប្រព័ន្ធត្រួតពិនិត្យកំណែ (VCS) ដែលប្រើច្រើនបំផុតសម្រាប់ការត្រួតពិនិត្យ និងត្រួតពិនិត្យគម្រោង។ វាក៏ផ្តល់នូវបរិយាកាសការងារដែលខ្ចាត់ខ្ចាយ និងសហការគ្នា ជំរុញកិច្ចសហប្រតិបត្តិការ។
Branching គឺជាលក្ខណៈពិសេសដ៏សំខាន់បំផុតមួយរបស់ Git ព្រោះវាអនុញ្ញាតឱ្យអ្នកបង្កើតឆានែលដាច់ដោយឡែកមួយសម្រាប់ការផ្លាស់ប្តូរជាក់លាក់មួយដូចជា បំណះបញ្ហា ការអភិវឌ្ឍន៍មុខងារថ្មី ឬការពិសោធន៍ ដោយមិនប៉ះពាល់ដល់សាខាចម្បងនោះទេ។
នៅក្នុងការប្រៀបធៀបទៅនឹងប្រតិបត្តិការ Git ផ្សេងទៀត ការបំបែកសាខាគឺជាវិធីសាស្រ្តដ៏សាមញ្ញមួយ។ វាអនុញ្ញាតឱ្យអ្នកងាកចេញពីមូលដ្ឋានកូដដើម។
Branching អនុញ្ញាតឱ្យអ្នកសហការជាមួយអ្នកអភិវឌ្ឍន៍ផ្សេងទៀតបានលឿនជាងមុន និងផ្តល់ឱ្យអ្នកនូវសេរីភាពជាច្រើននៅក្នុងដំណើរការការងាររបស់អ្នក។ វាក៏អនុញ្ញាតឱ្យអ្នកធ្វើការលើមុខងារថ្មីដោយមិនប៉ះពាល់ដល់មូលដ្ឋានកូដដែលនៅសល់។
យន្តការសាខារបស់ Git អនុញ្ញាតឱ្យមានការបង្កើតសាខាថ្មីនៅក្នុងគម្រោងមួយ។
បន្ទាប់មកសាខាបន្ថែមទាំងនេះអាចត្រូវបានប្រើដើម្បីសាកល្បងការផ្លាស់ប្តូរកូដដោយមិនជ្រៀតជ្រែកជាមួយកូដគម្រោងចម្បង។ ប្រសិនបើការកែតម្រូវបានជោគជ័យ សាខាអាចត្រូវបានបញ្ចូលទៅក្នុងសាខាមេវិញ។
ទោះយ៉ាងណាក៏ដោយ មានពេលខ្លះដែលអ្នកត្រូវការលុបសាខា Git ក្នុងស្រុក ប៉ុន្តែមិនមែនពីចម្ងាយទេ។ សូមអានបន្តដើម្បីស្វែងយល់ពីរបៀបធ្វើវា។
តើសាខា Git ជាអ្វី?
Git អាចតាមដានជួរការងារជាច្រើនដោយអរគុណដល់ការបំបែក។ វាអនុញ្ញាតឱ្យអ្នកធ្វើការលើកំណែជាច្រើននៃគម្រោងរបស់អ្នកក្នុងពេលដំណាលគ្នា។
គម្រោងជាច្រើននឹងរក្សាសាខាមេដែលមានស្ថេរភាព ខណៈពេលដែលបន្ថែមមុខងារថ្មី ឬជួសជុលបញ្ហានៅលើសាខាអភិវឌ្ឍន៍ ឬសាកល្បង។
នៅពេលដែលអ្នកគ្រប់គ្រងគម្រោងប្រាកដថាការផ្លាស់ប្តូរដែលបានធ្វើឡើងនៅក្នុងសាខា Dev បំពេញតាមលក្ខណៈវិនិច្ឆ័យ ពួកគេអាចបញ្ចូលការកែប្រែទាំងនោះចូលទៅក្នុងសាខាមេ។ សម្រាប់គម្រោងធំៗមួយចំនួន វដ្តនេះច្រើនតែត្រូវបានធ្វើម្តងទៀតដោយគ្មានកំណត់។
ការធ្វើការជាមួយសាខាអភិវឌ្ឍន៍ Git គឺជាវិធីសាស្រ្តដ៏អស្ចារ្យមួយក្នុងការធ្វើការជាមួយកម្មវិធីរបស់យើង ខណៈពេលដែលរក្សាដាននៃកំណែរបស់វា។ សាខាអភិវឌ្ឍន៍ ជាទូទៅគឺជាការបំបែកនៅក្នុងស្ថានភាពនៃកូដដែលបង្កើតផ្លូវថ្មីមួយសម្រាប់ការរីកចម្រើនរបស់វា។
វាអាចដំណើរការស្របជាមួយសាខា Git ផ្សេងទៀត អ្នកអាចបង្កើតបាន។ វាអាចទៅរួចក្នុងការបន្ថែមមុខងារថ្មីទៅក្នុងកូដរបស់យើងក្នុងលក្ខណៈរៀបចំ និងត្រឹមត្រូវ។
ហេតុអ្វី និងនៅពេលណាដែលវាត្រូវការការលុប?
វាជាការអនុវត្តការថែទាំធម្មតាក្នុងការលុបសាខា Git នៅពេលដែលពួកវាលែងប្រើហើយ ទោះបីជាវាមិនតែងតែជាសកល ឬត្រូវបានយល់ក៏ដោយ។
ហេតុអ្វីបានជាអ្នកគួរដកសាខា Git ហួសសម័យចេញពីឃ្លាំងរបស់អ្នក? មានហេតុផលជាមូលដ្ឋានពីរសម្រាប់រឿងនេះ៖
- ពួកគេមិនត្រូវការ។ សាខាភាគច្រើន ជាពិសេសអ្នកដែលភ្ជាប់ទៅនឹងសំណើរទាញដែលចុងក្រោយត្រូវបានអនុម័តនោះ មិនមានមុខងារទេ។
- ពួកគេគឺជាប្រភពនៃភាពច្របូកច្របល់។ ពួកគេមិនបន្ថែមលើផ្នែកបច្ចេកវិទ្យាសំខាន់ៗនោះទេ ប៉ុន្តែពួកគេធ្វើឱ្យការធ្វើការជាមួយបញ្ជីសាខានៅក្នុងឃ្លាំងកាន់តែពិបាកសម្រាប់មនុស្ស។
សាខាអាចត្រូវបានលុបដោយសុវត្ថិភាពដោយមិនខ្លាចបាត់បង់ការកែប្រែណាមួយឡើយ។
ពិចារណាលើសេណារីយ៉ូខាងក្រោម៖ បំណះសាខា-១ នឹងត្រូវបញ្ចូលជាមួយសាខាមេ តាមរយៈសំណើទាញ។ មុនពេលបញ្ចូលគ្នា មេ និងបំណះ-1 នីមួយៗចង្អុលទៅការកែប្រែផ្សេងៗគ្នានៅក្នុង git commit history។
បន្ទាប់ពីការបញ្ចូលគ្នា (ប្រសិនបើការបញ្ចូលគ្នាថ្មីត្រូវបានបន្ថែម) មេ និងបំណះ-1 ទាំងពីរភ្ជាប់ទៅនឹងការបញ្ចូលគ្នាថ្មី។ នៅពេលនេះ សំណើទាញត្រូវបានបញ្ចប់ ហើយការជំរុញនាពេលអនាគតទាំងអស់គួរតែត្រូវបានដាក់ជូនមេជាជាងបំណះ-1។
Local vs Remote Branch in Git
សាខាពីចម្ងាយ - វាមានទីតាំងនៅលើប្រព័ន្ធដាច់ដោយឡែក ជាទូទៅម៉ាស៊ីនមេ ដែលអ្នកអភិវឌ្ឍន៍អាចចូលប្រើបាន។ នៅពេលដែលសាខាពីចម្ងាយត្រូវបានលុប វាត្រូវបានលុបសម្រាប់អ្នកប្រើប្រាស់ទាំងអស់។
សាខាមូលដ្ឋាន - នៅលើប្រព័ន្ធមូលដ្ឋាន សាខាមូលដ្ឋានត្រូវបានរក្សាទុក។ ការលុបសាខាក្នុងស្រុកមិនមានឥទ្ធិពលលើសាខាឆ្ងាយនោះទេ។
តើធ្វើដូចម្តេចដើម្បីលុបសាខាក្នុងស្រុក?
វានឹងមិនអនុញ្ញាតឱ្យអ្នកដកសាខាដែលអ្នកកំពុងធ្វើការឥឡូវនេះទេ ដូច្នេះត្រូវប្រាកដថាអ្នកពិនិត្យមើលសាខាដែលអ្នកមិនលុប។ ចូរចាប់ផ្តើមដោយរកវិធីដកសាខាក្នុងស្រុកចេញ។
- ដើម្បីចាប់ផ្តើម សូមដំណើរការពាក្យបញ្ជា (git branch -a) ដើម្បីមើលសាខាទាំងអស់ (ទាំងក្នុងស្រុក និងពីចម្ងាយ)។
- បន្ទាប់មកដោយប្រើពាក្យបញ្ជា (git branch -d) អមដោយឈ្មោះសាខាដែលអ្នកចង់លុប អ្នកអាចលុបវាបាន។
ប្រសិនបើអ្នកព្យាយាមដកសាខាចេញជាមួយនឹងការកែប្រែដែលមិនរួមបញ្ចូលគ្នា សារកំហុសខាងក្រោមនឹងបង្ហាញឡើង៖
ដូចដែលសារខាងលើបង្ហាញ ដើម្បីបង្ខំឱ្យលុបសាខា ប្រើជម្រើស -D ដែលជាផ្លូវកាត់សម្រាប់ —delete —force ។
សូមចងចាំថាការលុបសាខាដែលមិនបានបញ្ចូលគ្នានឹងនាំឱ្យបាត់បង់ការកែប្រែទាំងអស់ចំពោះសាខានោះ។
ប្រសិនបើអ្នកព្យាយាមលុបសាខាបច្ចុប្បន្ន អ្នកនឹងឃើញសារដូចខាងក្រោម៖
អ្នកមិនអាចដកសាខាដែលអ្នកនៅឥឡូវនេះចេញទេ។ ប្តូរទៅសាខាផ្សេងទៀតជាមុនសិន បន្ទាប់មកដកឈ្មោះសាខាចេញ៖
គុណវិបត្តិនៃការលុបសាខា
គុណវិបត្តិដែលអាចកើតមានចំពោះការលុបសាខាគឺថាតំណភ្ជាប់ណាមួយទៅកាន់ទីតាំងរបស់សាខានឹងត្រូវខូច (នៅក្នុង GitHub ។ល។)។
ខ្ញុំស្ទើរតែមិនធ្លាប់មានតំណភ្ជាប់អចិន្ត្រៃយ៍ទៅកាន់សាខាដែលមិនមែនជាបឋមទេ ហើយប្រសិនបើខ្ញុំចង់ភ្ជាប់ទៅការងារណាមួយនៅលើសាខាណាមួយនោះ ខ្ញុំទំនងជាធ្វើវាបន្ទាប់ពីវាត្រូវបានប្រែក្លាយទៅជាសំណើទាញ (ក្នុងករណីដែលខ្ញុំនឹងភ្ជាប់ទៅ ទាញ - ស្នើសុំ) ។
ពាក្យចុងក្រោយ
ការដឹងពីរបៀបប្រើប្រាស់សាខាអភិវឌ្ឍន៍ក្លាយជាកត្តាសំខាន់ក្នុងការបង្កើតកម្មវិធីរបស់អ្នកជាប្រព័ន្ធ។ យកចិត្តទុកដាក់ក្នុងការរៀបចំកូដរបស់អ្នកនៅក្នុងសាខាផ្សេងៗ។
ប្រសិនបើនៅពេលណាមួយ អ្នកមិនប្រាកដអំពីប្រតិបត្តិការដ៏ស្មុគស្មាញនោះ វាតែងតែជាគំនិតល្អក្នុងការអាន ឯកសារផ្លូវការរបស់ Git នៅលើសាខា។
សូមផ្ដល់យោបល់