Git vs GitHub: ค้นพบความจริงใน 3 ขั้นตอน 🚀
บทสรุปที่สำคัญ
- GitHub เป็นแพลตฟอร์มสำหรับการโฮสต์และแบ่งปันโค้ด โดยเสนอบริการโฮสต์เว็บและฟีเจอร์โซเชียลฟรี
- Git คือระบบควบคุมเวอร์ชันที่ติดตามการเปลี่ยนแปลงของโค้ดและเป็นรากฐานทางเทคโนโลยีของ GitHub
- มีโฮสต์ Git อื่นๆ เช่น GitLab และ Bitbucket แต่ GitHub ถูกใช้และเป็นที่รู้จักมากที่สุดในโลก
GitHub ได้รับความนิยมมากจนมักถูกสับสนกับ Git แต่จริงๆ แล้วทั้งสองเป็นแนวคิดที่แตกต่างกัน ทั้งสองมีทางเลือกอื่น แม้ว่าจะไม่มีที่ใดแพร่หลายเท่า GitHub ก็ตาม
GitHub คืออะไร?
GitHub คือเว็บแอปพลิเคชันสำหรับนักพัฒนาซอฟต์แวร์เพื่อโฮสต์ แชร์ และทำงานร่วมกันในโครงการซอฟต์แวร์ หลายโครงการเป็นโอเพนซอร์สและเปิดให้สาธารณชนมีส่วนร่วม GitHub ส่งเสริมชุมชนด้วยบัญชีผู้ใช้ คำขอดึงข้อมูลเพื่อติดตามการเปลี่ยนแปลง การติดตามปัญหา และวิกิสำหรับเอกสารประกอบ

GitHub เปิดตัวในปี 2008 และถูกซื้อกิจการโดย Microsoft ในปี 2018 GitHub ได้กลายเป็นศูนย์กลางหลักของโปรเจกต์ยอดนิยมมากมาย ฟีเจอร์ GitHub Pages มอบบริการเว็บโฮสติ้งฟรีสำหรับโปรเจกต์ต่างๆ ทำให้สามารถสร้างเว็บไซต์ที่มีเนื้อหาครบถ้วนบนแพลตฟอร์มได้ นอกจากนี้ คุณยังสามารถแก้ไขบน GitHub ได้โดยตรง หรือโคลนคลังข้อมูลเพื่อใช้งานในเครื่องได้อีกด้วย
GitHub ใช้ Git เป็นเทคโนโลยีพื้นฐานในการติดตามการเปลี่ยนแปลงในโครงการ
Git คืออะไร?
Git คือระบบควบคุมเวอร์ชันแบบกระจาย (VCS) ที่สร้างขึ้นในปี พ.ศ. 2548 โดย Linus Torvalds ผู้พัฒนาเคอร์เนล Linux เป็นซอฟต์แวร์ฟรีที่บันทึกการเปลี่ยนแปลงของโค้ดตามกาลเวลา และจัดเก็บความแตกต่างระหว่างเวอร์ชันต่างๆ ไว้อย่างไม่จำกัด คลังเก็บ Git คือชุดไฟล์ของโครงการที่จัดระเบียบอย่างเป็นระบบ
โปรแกรมเมอร์มักใช้ Git บนบรรทัดคำสั่งด้วยคำสั่ง กิตติ
ซึ่งเสนอตัวเลือกและคำสั่งย่อยมากมายสำหรับการจัดการที่เก็บข้อมูลระดับต่ำ

ตัวอย่างเช่น หากต้องการแปลงโฟลเดอร์ปกติเป็นที่เก็บ Git คุณต้องใช้:
การเริ่มต้น git
ขั้นตอนปกติเกี่ยวข้องกับการแก้ไขไฟล์และใช้คำสั่งเพื่อบันทึกเวอร์ชัน:
git add file.c git commit -m "แก้ไขข้อบกพร่องในกระบวนการชำระเงิน"
คุณสามารถโคลนโปรเจ็กต์ GitHub ทำงานในเครื่อง และผลักดันการเปลี่ยนแปลงไปยังที่เก็บข้อมูลระยะไกลได้ กระบวนการนี้ใช้ได้กับที่เก็บข้อมูล Git ใดๆ ก็ตาม ไม่ว่าจะอยู่บน GitHub หรือบริการหรือเซิร์ฟเวอร์ภายในเครื่องอื่นๆ
หากบรรทัดคำสั่งไม่ใช่สิ่งที่คุณต้องการ ก็มีไคลเอนต์ Git ที่มีอินเทอร์เฟซแบบกราฟิก เช่น

ลูกค้ายอดนิยมอื่นๆ ได้แก่ ส้อม, ซอร์สทรี และ กิตคราเคนคุณสามารถลองหลายๆ อย่างเพื่อค้นหาสิ่งที่คุณชอบที่สุด
คุณควรใช้ไคลเอนต์ Git แบบกราฟิกหรือไม่?
Git อาจซับซ้อนสำหรับผู้เริ่มต้น
ฉันต้องใช้ทั้งสองอย่างหรือแค่หนึ่งอย่างเท่านั้น?
คุณสามารถดาวน์โหลดซอฟต์แวร์จาก GitHub ได้โดยไม่ต้องสร้างบัญชี โปรเจกต์ส่วนใหญ่มีไฟล์ปฏิบัติการอยู่ในส่วน Releases หรือคุณสามารถโคลนที่เก็บสาธารณะเพื่อรับโค้ดทั้งหมดได้

หากคุณต้องการให้โครงการเปิดต่อสาธารณะ GitHub ถือเป็นตัวเลือกที่เหมาะสมที่สุดสำหรับการโฮสต์ แต่ยังมีตัวเลือกอื่นๆ เช่น GitLab และ Bitbucket ที่ให้คุณสมบัติที่คล้ายคลึงกันอีกด้วย
เนื่องจากทุกคนใช้ Git การย้ายคลังข้อมูลหรือใช้หลายโฮสต์จึงเป็นเรื่องง่าย อย่างไรก็ตาม ฟีเจอร์เฉพาะของ GitHub เช่น การติดตามปัญหาหรือวิกิ จะผูกติดอยู่กับแพลตฟอร์ม เพื่อหลีกเลี่ยงปัญหาการล็อกอิน คุณสามารถจำกัดการใช้งานฟีเจอร์เหล่านี้ได้
GitHub นำเสนอ API ที่แข็งแกร่งสำหรับการเข้าถึงข้อมูลของคุณ ตัวอย่างเช่น คุณสามารถส่งออกปัญหาและวิกิ (ซึ่งก็คือคลังข้อมูล Git) เพื่อย้ายไปยังแพลตฟอร์มอื่นได้หากต้องการ
API คืออะไร และนักพัฒนาใช้มันอย่างไร?
คุณอาจเคยได้ยินเกี่ยวกับ 'API'
หากคุณกำลังมองหาระบบควบคุมเวอร์ชันอื่น ต้นถั่ววิเศษ รองรับ Git และ Subversion (SVN)
มีทางเลือกอื่นสำหรับ Git เช่น Mercurial แม้ว่าจะไม่ค่อยเป็นที่นิยมและแนะนำให้ใช้เฉพาะในกรณีเฉพาะเท่านั้น สำหรับโปรเจกต์ใหม่ส่วนใหญ่ Git เป็นตัวเลือกที่ดีที่สุด และการผสานรวม GitHub เข้ากับ Git ทำให้ใช้งานง่ายขึ้นมาก