สุดยอดความคิดเห็น
ความคิดเห็นที่ 1
Git เป็นระบบ Version Control ตัวหนึ่งครับ
ข้อดีอย่างแรกเลยคือเรื่อง Revision คือเวลาเราแก้ไขซอร์สโค๊ด แก้เสร็จเราก็ commit (เรียกง่ายๆ ก็คืออัพโหลด) โค๊ดขึ้นไป ถ้าเกิดปัญหาว่าโค๊ดพัง เขียนไปแล้วมันยุ่ง แย่กว่าเดิม ก็เปิด revision ดึงเอาเวอร์ชันเก่ากลับมาได้
อ้อ มันทำ file diff ได้ด้วย เทียบว่าแต่ละเวอร์ชั่นนั้นมีเพิ่มหรือลบโค๊ดตรงไหนออกไปบ้าง
อีกข้อนึงก็คือการแตก Branch อย่างเช่นเราอยากลองฟีเจอร์ใหม่ ซึ่งไม่รู้จะกระทบกับโค๊ดหลักหรือเปล่า หรือไม่รู้จะเอาเข้าโค๊ดหลักหรือเปล่า เราก็แตก Branch ออกมา แล้วลองใส่ฟีเจอร์ใหม่ที่ต้องการลงไป ถ้าคิดว่ามันโอเค ก็สั่ง merge โค๊ดชุดนี้ลงโค๊ดหลักได้เลย
ฟีเจอร์พวกนี้จะมีประโยชน์มากยิ่งขึ้นถ้าทำงานร่วมกันหลายคนครับ เช่นว่าฟีเจอร์ที่ต้องการ แต่คิดกันได้หลายอัลกอริธึม ก็แตก branch ออกไปเขียนตามที่ตัวเองต้องการ ของใครเข้าท่าที่สุดค่อยจับมา merge ลงทีหลัง หรือถ้าใครทำโค๊ดพัง ก็ตามตัวได้ เพราะว่าทุกครั้งที่ commit โค๊ดลงไป มันจะบันทึกไว้หมดว่าใครเป็นคนอัพ อัพเมื่อไหร่ มีตรงไหนเปลี่ยนแปลงบ้าง และใส่คอมเมนต์ได้ด้วย
Git Bash มันประกอบด้วยสองส่วนคือตัวโปรแกรม Git และ Bash Shell คือไอ้ Bash Shell นี่ก็คล้ายๆ Command Prompt บน Windows นั่นแหละ แต่ว่าจะสามารถใช้คำสั่งแบบบน Unix ได้ด้วย (คนสร้าง Git ขึ้นมาก็คือตา Linus Torvalds ที่เป็นคนสร้าง Linux ขึ้นมานั่นแหละ)
Git GUI ก็เหมือน Git Bash แต่เปลี่ยนจากแถม Bash Shell มาเป็นหน้าต่าง GUI เอาเมาส์คลิกๆ ได้เลย (เหมือนโปรแกรมบน Windows ทั่สไป)
GitHub เป็นผู้ให้บริการ Git เจ้าหนึ่ง คือจริงๆ เราไม่จำเป็นต้องใช้ GitHub เราก็ใช้ Git จัดการซอร์สโค๊ดในเครื่องเราคนเดียวได้ แต่ถ้าเครื่องเราพัง ข้อมูลก็หายด้วยไง เค้าเลยอัพข้อมูลไปแปะบน GitHub อีกที ข้อมูลจะได้ไม่หายเวลาเครื่องพัง (รายละเอียดเชิงลึกมันมากกว่านี้ เพราะจริงๆ Git มันไม่มีเซิร์ฟเวอร์กลางเพื่อเก็บข้อมูล แต่มันยาว ผมขี้เกียจอธิบาย)
เจ้าอื่นๆ ที่ให้บริการคล้ายๆ GitHub ก็อย่างเช่น BitBucket
ข้อดีอย่างแรกเลยคือเรื่อง Revision คือเวลาเราแก้ไขซอร์สโค๊ด แก้เสร็จเราก็ commit (เรียกง่ายๆ ก็คืออัพโหลด) โค๊ดขึ้นไป ถ้าเกิดปัญหาว่าโค๊ดพัง เขียนไปแล้วมันยุ่ง แย่กว่าเดิม ก็เปิด revision ดึงเอาเวอร์ชันเก่ากลับมาได้
อ้อ มันทำ file diff ได้ด้วย เทียบว่าแต่ละเวอร์ชั่นนั้นมีเพิ่มหรือลบโค๊ดตรงไหนออกไปบ้าง
อีกข้อนึงก็คือการแตก Branch อย่างเช่นเราอยากลองฟีเจอร์ใหม่ ซึ่งไม่รู้จะกระทบกับโค๊ดหลักหรือเปล่า หรือไม่รู้จะเอาเข้าโค๊ดหลักหรือเปล่า เราก็แตก Branch ออกมา แล้วลองใส่ฟีเจอร์ใหม่ที่ต้องการลงไป ถ้าคิดว่ามันโอเค ก็สั่ง merge โค๊ดชุดนี้ลงโค๊ดหลักได้เลย
ฟีเจอร์พวกนี้จะมีประโยชน์มากยิ่งขึ้นถ้าทำงานร่วมกันหลายคนครับ เช่นว่าฟีเจอร์ที่ต้องการ แต่คิดกันได้หลายอัลกอริธึม ก็แตก branch ออกไปเขียนตามที่ตัวเองต้องการ ของใครเข้าท่าที่สุดค่อยจับมา merge ลงทีหลัง หรือถ้าใครทำโค๊ดพัง ก็ตามตัวได้ เพราะว่าทุกครั้งที่ commit โค๊ดลงไป มันจะบันทึกไว้หมดว่าใครเป็นคนอัพ อัพเมื่อไหร่ มีตรงไหนเปลี่ยนแปลงบ้าง และใส่คอมเมนต์ได้ด้วย
Git Bash มันประกอบด้วยสองส่วนคือตัวโปรแกรม Git และ Bash Shell คือไอ้ Bash Shell นี่ก็คล้ายๆ Command Prompt บน Windows นั่นแหละ แต่ว่าจะสามารถใช้คำสั่งแบบบน Unix ได้ด้วย (คนสร้าง Git ขึ้นมาก็คือตา Linus Torvalds ที่เป็นคนสร้าง Linux ขึ้นมานั่นแหละ)
Git GUI ก็เหมือน Git Bash แต่เปลี่ยนจากแถม Bash Shell มาเป็นหน้าต่าง GUI เอาเมาส์คลิกๆ ได้เลย (เหมือนโปรแกรมบน Windows ทั่สไป)
GitHub เป็นผู้ให้บริการ Git เจ้าหนึ่ง คือจริงๆ เราไม่จำเป็นต้องใช้ GitHub เราก็ใช้ Git จัดการซอร์สโค๊ดในเครื่องเราคนเดียวได้ แต่ถ้าเครื่องเราพัง ข้อมูลก็หายด้วยไง เค้าเลยอัพข้อมูลไปแปะบน GitHub อีกที ข้อมูลจะได้ไม่หายเวลาเครื่องพัง (รายละเอียดเชิงลึกมันมากกว่านี้ เพราะจริงๆ Git มันไม่มีเซิร์ฟเวอร์กลางเพื่อเก็บข้อมูล แต่มันยาว ผมขี้เกียจอธิบาย)
เจ้าอื่นๆ ที่ให้บริการคล้ายๆ GitHub ก็อย่างเช่น BitBucket
แสดงความคิดเห็น
Git คือ?