สวัสดีครับ ผมในฐานะคนที่จับพลัดจับผลูมาเป็น Front-End Web Developer ร่ำเองเรียนเองด้วยการอ่านความรู้จากเว็บไซต์ต่าง ๆ บทความนี้จะขอทำการบันทึกการนำ git มาใช้งานในฉบับผมเข้าใจไปเอง หลายข้อมูลต่อไปนี้อาจจะไม่ได้มาตรฐานโลก แต่คิดว่าสำหรับผู้เริ่มต้นที่ไม่รู้พื้นฐานเลยน่าจะมีประโยชน์ และช่วยให้เริ่มต้นได้ไวขึ้นครับ

Git คืออะไร?

Git เป็นเครื่องมือช่วยให้เราสามารถบันทึกงานของเราเป็นเวอร์ชันต่าง ๆ ได้ ถ้างานของเราเป็นเกมมันก็คือการสร้างเซฟ หรือการสร้าง checkpoints ให้เราระหว่างทำงานนั่นเอง

ภาพตัวอย่างหน้าตาโปรแกรม git

Git ไปทำไม?

เหมือนเล่นเกมเลยครับ พอเราเซฟเกมไปแล้วหลังจากนั้นเราจะทำอะไรมั่ว ๆ ก็ได้ ลองเล่นอะไรแปลก ๆ แผลง ๆ ก็ได้ ถ้ามันไม่เวิร์กก็ โหลดเซฟกลับมาเล่นใหม่ได้เสมอ นอกจากนั้นเรายังสามารถย้อนกลับไปดูแต่ละ checkpoint ได้ตลอดเลยว่าเราทำอะไรไปยังไงบ้างในจุดนั้น ผิดพลาดตรงไหนบ้าง ช่วยให้เราจัดการการทำงานได้ดีขึ้น และอุ่นใจมากขึ้นที่งานของเราจะมีจุดเซฟที่โหลดได้ตลอดเวลา!

Git แบบออนไลน์

โดยปกติเราสามารถใช้งาน git แบบ local หรือ offline อยู่บนเครื่องเราคนเดียวก็ได้ แต่ถ้าหากเราต้องการทำงานร่วมกับคนอื่น เราสามารถอัปโหลด git ของเราขึ้นไปยังผู้ให้บริการออนไลน์ได้ ซึ่งมีหลายเจ้าเลยที่ให้ใช้งานได้ฟรี โดยหลังจากเราอัปขึ้นออนไลน์แล้ว คนอื่นก็จะสามารถเข้าถึงงานของเราได้ โดยไฟล์ใน git เหล่านี้จะถูกเรียนกว่า git repository (เรียกสั้น ๆ ว่า repo)

หลังจากที่อัปโหลดขึ้นไปแล้ว เราจะสามารถทำงานร่วมกับคนอื่น ๆ พร้อม ๆ กันได้ โดยให้คนที่ต้องการจะทำงานร่วมนั้นดาวน์โหลด repo ดังกล่าวลงเครื่องของตัวเอง ทำการแก้ไข → บันทึก → แล้วอัปโหลดกลับมาที่ git ที่ออนไลน์อยู่ เพียงเท่านี้ git ที่ออนไลน์อยู่ก็จะบันทึกงานเวอร์ชันใหม่ที่เปลี่ยนไป เราก็0tสามารถเข้าไปเช็กได้ว่าแก้ไขอะไรไปบ้าง เมื่อไหร่บ้าง ในทุกขั้นตอน

ดาวน์โหลดและติดตั้ง Git

Git เป็นโปรแกรม Open-Source ซึ่งหมายถึงเราสามารถใช้งานได้ฟรีไม่มีค่าใช้จ่าย โดยเราสามารถดาวน์โหลดได้จาก เว็บไซต์ของ git เลย

Download Git: https://git-scm.com/downloads

การใช้งาน Git

โดยเริ่มต้นเราสามารถใช้งาน git ได้ด้วย command line ซึ่งเป็นอะไรที่สะดวกกับ developer ที่โชกโชนการสั่งงานด้วยการพิมพ์รัว ๆ เพราะไม่ต้องจับเมาส์เลย พิมพ์ ๆ ๆ อย่างเดียวเพื่อสั่งงาน ตัวอย่างเช่น

$ git init

ซึ่งสำหรับผม เรื่องนี้มัน… เกินไปหน่อย ดังนั้นเราจะข้ามเรื่อง command line ไปแล้วมารู้จักกับ Git – GUI Client เลยดีกว่า

GUI Client, โปรแกรมที่มี UI สำหรับสั่งงาน git

เราสามารถสั่งให้ git ทำงานแบบต่าง ๆ ได้ ไม่ว่าจะเป็นการสร้าง repo (new game), การ commit (save game) การ push (อัปโหลด) หรือ pull (ดาวน์โหลด) ฯลฯ ด้วยโปรแกรม ซึ่งโปรแกรมก็มีอยู่ด้วยกันหลากหลาย บางโปรแกรมก็เสียเงิน แต่หลายโปรแกรมก็ใช้งานได้ฟรี

สำหรับโปรแกรมที่ผมแนะนำได้แก่ GitKraken และ Fork

สำหรับ GitKraken นั้น มีหน้าตาที่ใช้งานได้ง่ายมาก แต่สำหรับเวอร์ชันฟรีนั้นมีข้อจำกัดบางอย่าง (ถ้าจำไม่ผิดคือไม่สามารถ clone (ดาวน์โหลด) repo ที่ถูกตั้งเป็น private ได้) ทำให้ผมจำเป็นต้องย้ายมาใช้งาน Fork, ซึ่งโปรแกรม git อีกตัวที่สามารถใช้งานได้ฟรีและยังไม่มีข้อจำกัดยิบย่อยใด ๆ ในตอนนี้

สำหรับใครที่สนใจ GitKraken จักขอบคุณมาก ๆ ครับ ถ้าใช้ referrals ของผมในการสมัครเข้าไปใช้ครับ ถ้ามีสมัครผ่านลิงก์ 10,000 คน ผมจะได้ Tesla ครับ! 😂

https://www.gitkraken.com/invite/adzTPFvu

สำหรับคนที่สนใจ Fork ก็สามารถดาวน์โหลดจากหน้าเว็บได้เลยเช่นกันครับ

https://git-fork.com/

เอาล่ะครับสำหรับบทแรกผมจะขอพักไว้เท่านี้ก่อน ส่วนบทต่อไปผมจะมาเล่าต่อเกี่ยวกับการใช้งานโปรแกรมครับ โดยโปรแกรมที่จะยกมาเป็นตัวอย่าง ผมจะบอกไว้เลยว่าเป็น Fork ครับผม แล้วเจอกันครับ