GitHub เป็นแพลตฟอร์มการควบคุมเวอร์ชันและการทำงานร่วมกันบนเว็บสำหรับนักพัฒนาซอฟต์แวร์ Microsoft ซึ่งเป็นผู้สนับสนุนรายเดียวรายใหญ่ที่สุดของ GitHub ได้ริเริ่มการเข้าซื้อกิจการ GitHub มูลค่า 7.5 พันล้านดอลลาร์ในเดือนมิถุนายน 2561 GitHub ซึ่งให้บริการผ่านรูปแบบธุรกิจซอฟต์แวร์ในฐานะบริการ (SaaS) เริ่มต้นขึ้นในปี 2551 และก่อตั้งขึ้นเมื่อ Git ซึ่งเป็นระบบการจัดการโอเพ่นซอร์สโค้ดที่สร้างโดย Linus Torvalds เพื่อให้สร้างซอฟต์แวร์ได้เร็วขึ้น
Git ใช้เพื่อจัดเก็บซอร์สโค้ดสำหรับโปรเจ็กต์และติดตามประวัติการเปลี่ยนแปลงทั้งหมดของโค้ดนั้น ช่วยให้นักพัฒนาสามารถทำงานร่วมกันในโครงการได้อย่างมีประสิทธิภาพมากขึ้นโดยการจัดหาเครื่องมือสำหรับการจัดการการเปลี่ยนแปลงที่อาจขัดแย้งกันจากนักพัฒนาหลายราย GitHub อนุญาตให้นักพัฒนาเปลี่ยนแปลง ปรับเปลี่ยน และปรับปรุงซอฟต์แวร์จากที่เก็บข้อมูลสาธารณะได้ฟรี แต่จะเรียกเก็บเงินสำหรับพื้นที่เก็บข้อมูลส่วนตัว โดยเสนอแผนการชำระเงินที่หลากหลาย ที่เก็บสาธารณะหรือส่วนตัวแต่ละแห่งมีไฟล์ทั้งหมดของโปรเจ็กต์ รวมถึงประวัติการแก้ไขของแต่ละไฟล์ ที่เก็บสามารถมีผู้ทำงานร่วมกันได้หลายคนและสามารถเป็นสาธารณะหรือส่วนตัวก็ได้
GitHub อำนวยความสะดวกในการเข้ารหัสทางสังคมโดยจัดเตรียมเว็บอินเทอร์เฟซให้กับที่เก็บโค้ด Git และเครื่องมือการจัดการสำหรับการทำงานร่วมกัน GitHub ถือได้ว่าเป็นเว็บไซต์โซเชียลเน็ตเวิร์กที่จริงจังสำหรับนักพัฒนาซอฟต์แวร์ สมาชิกสามารถติดตามซึ่งกันและกัน ให้คะแนนงานของกันและกัน รับข้อมูลอัปเดตสำหรับโครงการเฉพาะ และสื่อสารแบบสาธารณะหรือแบบส่วนตัว
คำสำคัญสามคำที่นักพัฒนาใช้ใน GitHub ได้แก่ fork, pull request และ merge ส้อม เรียกอีกอย่างว่าสาขา เป็นเพียงพื้นที่เก็บข้อมูลที่ถูกคัดลอกจากบัญชีของสมาชิกรายหนึ่งไปยังบัญชีของสมาชิกรายอื่น ส้อมและกิ่งก้านช่วยให้นักพัฒนาแก้ไขได้โดยไม่กระทบต่อรหัสต้นฉบับ หากนักพัฒนาต้องการแชร์การแก้ไข เธอสามารถส่ง คำขอดึง ถึงเจ้าของที่เก็บข้อมูลเดิม หากหลังจากตรวจสอบการแก้ไขแล้ว หากเจ้าของเดิมต้องการดึงการแก้ไขลงในที่เก็บ เธอสามารถยอมรับการแก้ไขและ รวม กับที่เก็บข้อมูลเดิม ตามค่าเริ่มต้น การคอมมิตทั้งหมดจะถูกคงไว้และแทรกสลับกับโปรเจ็กต์หลัก หรือสามารถรวมกันเป็นการผสานที่ง่ายกว่าผ่านการคอมมิตสควอช
บทแนะนำ GitHub Pages เกี่ยวกับวิธีโฮสต์เว็บไซต์ส่วนตัวเนื่องจาก GitHub ใช้งานง่ายและเครื่องมือควบคุมเวอร์ชันมีประโยชน์สำหรับการทำงานร่วมกัน ผู้ที่ไม่ใช่โปรแกรมเมอร์จึงเริ่มใช้ GitHub เพื่อทำงานในโครงการที่ใช้เอกสารและมัลติมีเดีย GitLab เป็นทางเลือกโอเพ่นซอร์สแทน GitHub
ผลิตภัณฑ์และคุณสมบัติของ GitHub
GitHub นำเสนอเวอร์ชันภายในองค์กรนอกเหนือจากผลิตภัณฑ์ SaaS ที่รู้จักกันดี GitHub Enterprise รองรับสภาพแวดล้อมการพัฒนาแบบบูรณาการและการผสานรวมเครื่องมืออย่างต่อเนื่องตลอดจนบทร้องของแอพและบริการของบุคคลที่สาม มีความปลอดภัยและความสามารถในการตรวจสอบที่มากกว่าเวอร์ชัน SaaS
ผลิตภัณฑ์และคุณสมบัติอื่นๆ ของโน้ต ได้แก่:
- Github Gist อนุญาตให้ผู้ใช้ GitHub แชร์โค้ดบางส่วนหรือบันทึกย่ออื่นๆ
- กระแส GitHub เป็นเวิร์กโฟลว์แบบอิงสาขาที่มีน้ำหนักเบาสำหรับการปรับใช้ที่อัปเดตเป็นประจำ
- หน้า GitHub เป็นหน้าเว็บแบบคงที่สำหรับโฮสต์โครงการ โดยดึงข้อมูลโดยตรงจากที่เก็บ GitHub ของบุคคลหรือองค์กร
- GitHub Desktop ให้ผู้ใช้เข้าถึง GitHub จากเดสก์ท็อป Windows หรือ Mac แทนที่จะไปที่เว็บไซต์ของ GitHub
- GitHub Student Developer Pack เป็นเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ฟรีที่จำกัดให้เฉพาะนักเรียนเท่านั้น รวมถึงทรัพยากรระบบคลาวด์ เครื่องมือการเขียนโปรแกรมและการสนับสนุน และการเข้าถึง GitHub