Git คืออะไร

post Image

Git เป็นสิ่งที่เรียกว่า Version Control หรือตัวที่เอาไว้ดูแลและควบคุมการเปลี่ยนแปลงของ Source Code (a.k.a. เวอร์ชั่น) ไม่ว่าจะเป็น Text หรือ Binary File (JPG, PNG)

Git ไม่ใช่ตัวแรกที่ทำแบบนี้ได้ ครั้งหนึ่งหากใครเกิดทัน จะมียุคหนึ่งที่ SVN (Subversion) รุ่งเรือง ถือว่าเป็นจุดเริ่มต้นของ Version Control แบบกว้างขวางของโลก

แต่ SVN ก็มีจุดอ่อนมากมายหลายหลาก ยกตัวอย่างเช่นการที่ต้องออนไลน์ถึงจะทำอะไรกับ Repository ได้ เป็นต้น

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

ข้อดีอย่างนึงของ Git คือ "มันกระจายความเสี่ยง" โดยโครงสร้างของ Git จะเก็บทุกการเปลี่ยนแปลงไว้ใน Repository ตอนเรา clone มาลงในเครื่อง เราก็จะเก็บทั้งโปรเจคแบบ Full มาลงไว้เลย ดังนั้นทุกเครื่องที่มี Repository อยุ่ ก็คือ Backup ดีๆนี่เอง

  1. Source ไม่มีวันหาย สามารถย้อนคืนสิ่งที่ผิดได้ตลอดเวลา
  2. Merge Code ให้อัตโนมัติ
  3. Track ได้ว่าใครทำอะไร
  4. ทำ Local ได้

สำหรับ Git Hosting ที่แนะนำมีอยู่ 3 อันคือ

1.GitHub

ดังที่สุดแล้วหละสำหรับ GitHub ที่เป็นแหล่งแชร์โค้ดที่ใหญ่ที่สุดของโลก เปิดให้เราสามารถอัพ Public Repository (คือ Repository ที่เปิดให้ใครเข้าถึงก็ได้ โหลดมาได้ แต่แก้โค้ดไม่ได้) ได้อย่างฟรีๆไม่จำกัด แต่ถ้าจะทำ Private Repository ก็ต้องจ่ายตังค์ไปตามจำนวน Repository เริ่มต้นที่ $7 ต่อเดือน ที่ 5 Private Repositories
ดังนั้นถ้าจะใช้ GitHub ก็แนะนำให้ใช้แต่ Public Repository ครับ
สนใจใช้ เชิญ http://github.com จ้า

2.Bitbucket

GitHub เปิดให้อัพโหลด Public Repo ฟรี แต่ BitBucket มองมุมกลับ เปิดให้อัพโหลด Private Repo ฟรี ! แถมไม่จำกัดจำนวน Repo อีกตะหาก ข้อจำกัดเดียวคือจำนวนคนที่เข้าถึง Repo นั้นๆได้ต้องไม่เกิน 5 คน (เพิ่มได้อีกนิดหน่อยจากการ Invite Friend) ถ้ามากกว่านั้นก็ต้องจ่ายเงิน เริ่มต้นที่ $10 ต่อเดือน สำหรับการเข้าถึงได้ 10 คน
แนะนำว่าถ้าจะทำ Private Repository เชิญ BitBucket ได้เลยจ้าาา

 

3.GitLab

สำหรับคนที่กลัวกลั้วกลัว ไม่อยากจะเอาโค้ดไปฝากไว้กับใครก็ไม่รู้ เราสามารถตั้ง Git Server เองบน Server ของตัวเองได้ด้วย GitLab จริงๆมีหลายตัวอยู่นะ แต่ดัวนี้ดังและง่ายที่สุดเท่าที่ลองมาละ ก็ขอแนะนำเป็นตัวนี้ละกันครับ

ไปโหลดมาได้เลยที่ https://gitlab.com/ คร้าบผม

ก็ขอแนะนำเพียงเท่านี้ ขอไม่สอนใช้นะครับ แต่อยากให้ลองไปศึกษากันดู เป็นนักพัฒนาต้องเรียนรู้ด้วยตัวเองได้ !

ซึ่งนาทีนี้ขอยกให้ Git เป็นสิ่งที่ Software Developer "ต้อง" ใช้ ไม่ใช่ตัวเลือกแต่เป็น "สิ่งจำเป็น" เลย เป็นสกิลติดตัวที่สำคัญมาก หากยังทำไม่เป็น เริ่มตั้งแต่วันนี้เลยครับ และจากนี้เป็นต้นไป อัพทุกอย่างขึ้น Git ให้เป็นนิสัย อย่างตอนนี้ สำหรับเนย เนยสร้าง Git Repository ก่อนเริ่ม New Project ซะอีก

เพราะ git ทำให้ผมอุ่นนนนนใจ =)