banner
รายละเอียด
"กองบริการการศึกษา มหาวิทยาลัยพะเยา"
คลังความรู้

การใช้งาน Git (Version Control System)
11 มิถุนายน พ.ศ. 2567

: 1039

NewsGallery

Git เป็นระบบควบคุมเวอร์ชัน (Version Control System หรือ VCS) ที่ได้รับการออกแบบมาเพื่อจัดการและติดตามการเปลี่ยนแปลงของไฟล์หรือโค้ดในระบบ Git ถูกพัฒนาขึ้นโดย Linus Torvalds (ผู้สร้าง Linux) ในปี ค.ศ. 2005 เพื่อช่วยรองรับการทำงานร่วมกันในระบบขนาดใหญ่ โดยเฉพาะในกรณีที่มีผู้พัฒนาหลายคนสามารถทำงานร่วมกันได้อย่างมีประสิทธิภาพ

 

ทำไมต้องใช้ Git?

       การเลือกใช้ Git มีความสำคัญอย่างมากในกระบวนการพัฒนาและจัดการโครงการซอฟต์แวร์ ไม่ว่าจะเป็นโครงการขนาดเล็กหรือขนาดใหญ่ เนื่องจาก Git มีความสามารถในการจัดการและติดตามการเปลี่ยนแปลงของไฟล์อย่างมีประสิทธิภาพ โดยประโยชน์สำคัญของการใช้ Git สามารถสรุปได้ดังนี้:

          1.การติดตามการเปลี่ยนแปลง (Version Tracking): Git สามารถบันทึกการเปลี่ยนแปลงที่เกิดขึ้นในไฟล์หรือโค้ดทุกครั้งที่มีการแก้ไข ทำให้ผู้พัฒนาสามารถย้อนกลับไปยังสถานะก่อนหน้าของไฟล์ได้ในกรณีที่เกิดข้อผิดพลาด หรือหากต้องการดูประวัติการเปลี่ยนแปลงที่ผ่านมาของโครงการ การติดตามเวอร์ชันนี้ยังช่วยให้การจัดการโครงการมีความโปร่งใสและสามารถติดตามความคืบหน้าได้ง่ายขึ้น

          2.การทำงานร่วมกันอย่างมีประสิทธิภาพ (Collaborative Development): ในโครงการที่มีผู้พัฒนาหลายคน การใช้ Git ช่วยให้ทุกคนสามารถทำงานพร้อมกันบนโค้ดเดียวกันได้โดยไม่เกิดการขัดแย้งของไฟล์ Git รองรับการสร้าง Branch (สาขา) เพื่อแยกการพัฒนาเป็นส่วนๆ และเมื่อแต่ละสาขาเสร็จสิ้นการพัฒนาแล้ว สามารถรวมเข้ากับสาขาหลัก (Master Branch) ได้อย่างง่ายดาย ซึ่งช่วยลดปัญหาความขัดแย้งของโค้ดและช่วยให้การพัฒนาเป็นไปอย่างราบรื่น

          3.การสนับสนุนการทำงานแบบกระจาย (Distributed System): Git เป็นระบบควบคุมเวอร์ชันแบบกระจาย (Distributed Version Control System) ซึ่งหมายความว่าผู้พัฒนาแต่ละคนจะมีสำเนาของโครงการทั้งหมดในเครื่องของตนเอง ทำให้การทำงานเป็นไปอย่างยืดหยุ่นและไม่จำเป็นต้องเชื่อมต่อกับเซิร์ฟเวอร์ตลอดเวลา นอกจากนี้ยังช่วยลดความเสี่ยงในการสูญเสียข้อมูล เนื่องจากมีสำเนาของโครงการอยู่ในหลายๆ ที่

          4.การสนับสนุนการควบคุมการเข้าถึงและการรักษาความปลอดภัย (Access Control and Security): Git ช่วยให้ผู้พัฒนาสามารถกำหนดสิทธิ์การเข้าถึงในระดับต่างๆ ได้ เช่น กำหนดให้บางคนสามารถดูโค้ดได้แต่ไม่สามารถแก้ไขได้ หรือกำหนดสิทธิ์ในการบันทึก (Commit) และการรวม (Merge) โค้ด ซึ่งช่วยป้องกันความผิดพลาดที่อาจเกิดขึ้นจากการที่ผู้ใช้หลายคนทำงานร่วมกันในโครงการเดียวกัน นอกจากนี้ การบันทึกการเปลี่ยนแปลงใน Git ยังสามารถติดตามได้ว่าการเปลี่ยนแปลงใดทำโดยใคร และเมื่อไหร่ ทำให้การตรวจสอบความถูกต้องและความปลอดภัยของโครงการง่ายขึ้น

          5.การสนับสนุนการทำงานกับแพลตฟอร์มออนไลน์ (Integration with Online Platforms): Git สามารถเชื่อมต่อกับแพลตฟอร์มออนไลน์ต่างๆ เช่น GitHub, GitLab และ Bitbucket ซึ่งเป็นแพลตฟอร์มที่ช่วยในการจัดเก็บ แชร์ และจัดการโครงการ Git บนอินเทอร์เน็ต การใช้แพลตฟอร์มเหล่านี้ช่วยให้การทำงานร่วมกันเป็นไปอย่างราบรื่นและมีประสิทธิภาพยิ่งขึ้น ทั้งยังมีเครื่องมือเสริมที่ช่วยในการตรวจสอบคุณภาพของโค้ด (Code Review) และการทดสอบอัตโนมัติ (Continuous Integration/Continuous Deployment - CI/CD)

       การใช้ Git จึงเป็นสิ่งที่ขาดไม่ได้ในงานพัฒนาซอฟต์แวร์สมัยใหม่ เนื่องจากช่วยให้การทำงานมีประสิทธิภาพมากขึ้น ลดความซับซ้อนในการจัดการโครงการ และเพิ่มความมั่นใจในการจัดการและการพัฒนาระบบ

 

ขั้นตอนการใช้งาน Git เบื้องต้น

        1. การติดตั้ง Git ก่อนเริ่มต้นใช้งาน Git ผู้ใช้จำเป็นต้องติดตั้งโปรแกรม Git บนคอมพิวเตอร์ของตน ซึ่งขั้นตอนการติดตั้งจะแตกต่างกันไปตามระบบปฏิบัติการที่ใช้งาน

             Windows:

      1.โปรดเข้าสู่เว็บไซต์ Git for Windows และดาวน์โหลดโปรแกรมติดตั้ง

      2.หลังจากดาวน์โหลดเสร็จสิ้น ให้ดำเนินการเปิดไฟล์ติดตั้ง (.exe) และปฏิบัติตามคำแนะนำที่ปรากฏบนหน้าจอ

      3.เมื่อการติดตั้งเสร็จสมบูรณ์ ผู้ใช้สามารถเปิดโปรแกรม Git Bash ซึ่งเป็นโปรแกรมที่ติดตั้งมาพร้อมกับ Git เพื่อเริ่มต้นใช้งานได้ทันที

             macOS:

      1.เปิดโปรแกรม Terminal

      2.หากผู้ใช้ติดตั้ง Homebrew (โปรแกรมจัดการแพ็กเกจ) ไว้แล้ว สามารถใช้คำสั่ง brew install git เพื่อติดตั้ง Git

      3.หากไม่ได้ติดตั้ง Homebrew ผู้ใช้สามารถดาวน์โหลด Git จาก เว็บไซต์ Git และดำเนินการติดตั้งตามคำแนะนำที่ปรากฏ

            Linux:

      1.เปิดโปรแกรม Terminal

      2.สำหรับผู้ใช้ Ubuntu สามารถติดตั้ง Git ด้วยคำสั่ง sudo apt-get install git และสำหรับ Fedora หรือ CentOS ใช้คำสั่ง sudo yum install git

      3.หลังการติดตั้งเสร็จสิ้น ผู้ใช้สามารถตรวจสอบเวอร์ชั่นของ Git ที่ติดตั้งได้โดยใช้คำสั่ง git –version

        2. การตั้งค่าผู้ใช้งานเบื้องต้น หลังจากติดตั้ง Git เสร็จสิ้น ผู้ใช้จะต้องตั้งค่าข้อมูลผู้ใช้งานเบื้องต้นเพื่อให้ระบบ Git รู้จักผู้ใช้งานและสามารถระบุได้ว่าใครเป็นผู้ดำเนินการบันทึก (commit) การเปลี่ยนแปลงต่างๆ (คำสั่งเหล่านี้จะทำให้ระบบ Git สามารถระบุได้ว่าใครเป็นผู้ทำการเปลี่ยนแปลงในแต่ละ commit)

            การตั้งค่าชื่อผู้ใช้งาน:

                • ใช้คำสั่ง git config --global user.name "ชื่อของคุณ" เพื่อกำหนดชื่อผู้ใช้งาน

            การตั้งค่าอีเมลผู้ใช้งาน:

                • ใช้คำสั่ง git config --global user.email "อีเมลของคุณ" เพื่อกำหนดอีเมลผู้ใช้งาน 

        3. การเริ่มต้นใช้งาน Git ในโครงการใหม่  หลังจากตั้งค่าผู้ใช้งานเรียบร้อยแล้ว ผู้ใช้สามารถเริ่มต้นใช้งาน Git กับโครงการใหม่ได้:

            การสร้างโฟลเดอร์โครงการ:

      • ผู้ใช้ควรสร้างโฟลเดอร์ใหม่สำหรับเก็บไฟล์ทั้งหมดที่เกี่ยวข้องกับโครงการ โดยสามารถใช้โปรแกรมจัดการไฟล์หรือใช้คำสั่ง mkdir <ชื่อโฟลเดอร์> 

        ใน Terminal หรือ Command Line เพื่อสร้างโฟลเดอร์

            การสร้าง Git repository:

      • เปิด Terminal หรือ Command Line แล้วใช้คำสั่ง cd <ชื่อโฟลเดอร์> เพื่อเปลี่ยนไปยังโฟลเดอร์ที่สร้างขึ้น

      • ใช้คำสั่ง git init เพื่อเริ่มต้นสร้าง Git repository ในโฟลเดอร์นั้น ซึ่งจะทำให้ Git เริ่มติดตามการเปลี่ยนแปลงของไฟล์ในโฟลเดอร์นี้

        4. การเพิ่มไฟล์ลงใน Git  หลังจากสร้าง repository แล้ว Git จะยังไม่เริ่มติดตามไฟล์ใดๆ จนกว่าผู้ใช้จะบอกให้ Git ทราบ โดยการเพิ่มไฟล์ลงใน staging area ก่อน:

            การเพิ่มไฟล์เฉพาะเจาะจง:

                • ใช้คำสั่ง git add <ชื่อไฟล์> เพื่อบอกให้ Git เริ่มติดตามไฟล์เฉพาะที่ต้องการ

            การเพิ่มไฟล์ทั้งหมดในโฟลเดอร์ปัจจุบัน:

                • ใช้คำสั่ง git add . เพื่อเพิ่มไฟล์ทั้งหมดในโฟลเดอร์ปัจจุบันลงใน Git

        5. การบันทึกการเปลี่ยนแปลง (Commit) การ commit คือการบันทึกการเปลี่ยนแปลงที่เกิดขึ้นในไฟล์ลงใน Git repository โดยที่ทุก commit จะมีข้อความบันทึกเพื่ออธิบายว่ามีการเปลี่ยนแปลงอะไรไปบ้าง:

            การบันทึกการเปลี่ยนแปลง:

                • ใช้คำสั่ง git commit -m "ข้อความบันทึก" เพื่อบันทึกการเปลี่ยนแปลงใน staging area ลงใน repository พร้อมข้อความที่อธิบายการเปลี่ยนแปลงนั้น

        6. การตรวจสอบสถานะของไฟล์ ผู้ใช้สามารถตรวจสอบสถานะของไฟล์ใน Git repository ได้ด้วยคำสั่ง git status ซึ่งจะแสดงข้อมูลว่าไฟล์ใดถูกแก้ไข แต่ยังไม่ได้ถูกเพิ่มหรือบันทึก:

            การตรวจสอบสถานะของไฟล์:

                • ใช้คำสั่ง git status เพื่อดูว่าไฟล์ใดที่ถูกแก้ไขแต่ยังไม่ได้ถูกเพิ่มลงใน staging area หรือไฟล์ใดที่อยู่ใน staging area แต่ยังไม่ได้ถูก commit

        7. การดูประวัติการเปลี่ยนแปลง ผู้ใช้สามารถดูประวัติการเปลี่ยนแปลงในโครงการได้ด้วยคำสั่ง git log ซึ่งจะแสดงรายการ commit ทั้งหมดที่เคยทำใน Git repository:

            การดูประวัติการเปลี่ยนแปลง:

                • ใช้คำสั่ง git log เพื่อดูประวัติของ commit ที่เคยทำ รวมถึงรายละเอียดของแต่ละ commit เช่น หมายเลข commit ผู้ที่ทำการ commit วันที่ และข้อความ

                   บันทึก

        8. การสร้างและจัดการ Branch Branch เป็นวิธีการที่ช่วยให้ผู้ใช้สามารถแยกการทำงานออกจากโค้ดหลัก (main branch) เพื่อทำการพัฒนาฟีเจอร์ใหม่หรือทำการทดลองการพัฒนาใหม่ๆ โดยไม่กระทบต่อโค้ดหลัก:

            การสร้าง Branch ใหม่:

                • ใช้คำสั่ง git branch <ชื่อ branch> เพื่อสร้าง branch ใหม่

            การสลับไปยัง Branch ใหม่:

                • ใช้คำสั่ง git checkout <ชื่อ branch> เพื่อเปลี่ยนไปยัง branch ใหม่ที่สร้างขึ้น

            การสร้างและสลับไปยัง Branch ใหม่ทันที:

                • ใช้คำสั่ง git checkout -b <ชื่อ branch> เพื่อสร้าง branch ใหม่และสลับไปยัง branch นั้นในขั้นตอนเดียว

        9. การรวม Branch (Merge) เมื่อทำงานใน branch หนึ่งเสร็จสิ้นและต้องการรวมการเปลี่ยนแปลงเข้ากับโค้ดหลัก ผู้ใช้สามารถทำการ merge branch นั้นกลับไปยัง branch หลักได้:

            การรวม Branch:

                • ใช้คำสั่ง git merge <ชื่อ branch> เพื่อรวมการเปลี่ยนแปลงจาก branch ที่ต้องการเข้ากับ branch ปัจจุบัน

            การแก้ไขปัญหาความขัดแย้งของโค้ด (Merge Conflicts):

                • ในกรณีที่เกิดความขัดแย้งระหว่าง branch ผู้ใช้ต้องเปิดไฟล์ที่มีปัญหาและแก้ไขความขัดแย้งด้วยตนเอง จากนั้นใช้คำสั่ง git add และ git commit เพื่อบันทึก

                   การแก้ไขและการรวม branch

        10. การเชื่อมต่อกับ Remote Repository หากผู้ใช้ต้องการเก็บโค้ดของตนบนเซิร์ฟเวอร์ออนไลน์หรือทำงานร่วมกับผู้อื่น ผู้ใช้สามารถเชื่อมต่อกับ remote repository บนแพลตฟอร์มเช่น GitHub, GitLab หรือ Bitbucket:

             การเพิ่ม Remote Repository:

                • ใช้คำสั่ง git remote add origin เพื่อเชื่อมต่อ Git repository บนเครื่องของผู้ใช้กับ remote repository บนเซิร์ฟเวอร์

             การส่งการเปลี่ยนแปลงไปยัง Remote Repository:

                • ใช้คำสั่ง git push -u origin <ชื่อ branch> เพื่อส่งการเปลี่ยนแปลงจาก branch ที่กำลังทำงานอยู่ไปยัง remote repository

        11. การดึงการเปลี่ยนแปลงจาก Remote Repository เมื่อมีการเปลี่ยนแปลงใน remote repository ผู้ใช้สามารถดึงการเปลี่ยนแปลงนั้นมายัง local repository ของตนเพื่อให้โค้ดเป็นปัจจุบัน:

              การดึงการเปลี่ยนแปลง:

                • ใช้คำสั่ง git pull เพื่อดึงการเปลี่ยนแปลงจาก remote repository มายัง branch ปัจจุบันใน local repository ของผู้ใช้

 

คำสั่งพื้นฐานในการใช้งาน Git

git init: สร้าง Git repository ใหม่ในโฟลเดอร์ปัจจุบัน

git clone : คัดลอก Git repository จาก URL ที่ระบุ

git add <ชื่อไฟล์>: เพิ่มไฟล์ลงใน staging area

git commit -m "ข้อความบันทึก": บันทึกการเปลี่ยนแปลงที่ staging area ลงใน Git

git status: แสดงสถานะของไฟล์ใน repository

git log: แสดงประวัติการบันทึกการเปลี่ยนแปลง

git branch: แสดงรายการ Branch ทั้งหมดใน repository

git checkout <ชื่อ branch>: สลับไปยัง Branch ที่ระบุ

git merge <ชื่อ branch>: รวม Branch ที่ระบุเข้ากับ Branch ปัจจุบัน

git push: ส่งการเปลี่ยนแปลงไปยัง remote repository (เช่น GitHub)

git pull: ดึงการเปลี่ยนแปลงจาก remote repository มายัง local repository

 

Git เป็นเครื่องมือที่มีความสำคัญและทรงพลังในการจัดการโครงสร้างระบบ โดยเฉพาะในโครงสร้างระบบที่มีผู้พัฒนาหลายคน การเรียนรู้และฝึกฝนการใช้งาน Git จะช่วยเพิ่มประสิทธิภาพในการพัฒนาและจัดการโครงสร้างระบบได้เป็นอย่างมาก


แกเลอรี่