2 มิ.ย. เวลา 03:00 • วิทยาศาสตร์ & เทคโนโลยี

Git เครื่องมือที่ไม่ใช่แค่ Developer ก็ใช้ได้

1️⃣ ชีวิตก่อนมี Git — ปัญหาที่ทุกคนเจอ
คุณเคยเจอปัญหาหรือเหตุการณ์ลักษณะนี้บ้างไหม
📌เหตุการณ์ที่ 1 — สงครามชื่อไฟล์และการแก้ไขไม่รู้จบ
ชื่อไฟล์ที่ทำล่าสุด แต่ก็มีล่าสุดอันใหม่งอกออกมาเรื่อยๆ เหมือนตัวอย่างด้านล่าง
report.docx
report_v2.docx
report_v2_FINAL.docx
report_v2_FINAL_fix.docx
report_v2_FINAL_fix_USE-THIS-ONE.docx
report_v2_FINAL_fix_USE-THIS-ONE_ok-นะ.docx
📌เหตุการณ์ที่ 2 — งานชนกัน
คุณกับเพื่อนอีกหลายคนช่วยกันแก้ไขงานเดียวกันโดยแยกกันทำ จากนั้นเอาข้อมูลมารวมกันแต่กลับเจอว่าการรวมกันทำให้มีข้อมูลบางอย่างหายไป หรือไม่ก็มีข้อมูลบางส่วนถูกเติมมาโดยไม่รู้เลยว่าใครเป็นคนทำ
📌เหตุการณ์ที่ 3 — ย้อนเวลาไม่ได้
คุณอาจจะคุ้นเคยกับการใช้ Ctrl+Z เพื่อย้อนกลับข้อความหรือข้อมูลในเอกสาร ให้กลับไปยังเนื้อหาก่อนหน้า แต่จะเกิดอะไรขึ้นถ้าคุณอยากย้อนกลับไปเป็นเนื้อหาเมื่อ 1 วันหรือ 2 วันก่อน?
ปัญหาเหล่านี้ไม่ได้เกิดแค่กับ Developer — มันเกิดกับทุกคนที่ทำงานกับไฟล์ และยิ่งทำงานเป็นทีมยิ่งหนักมากขึ้น
ก่อนปี 2005 Developer พยายามแก้ปัญหานี้ด้วยเครื่องมือหลายตัว เช่น CVS หรือ Subversion (SVN) แต่ก็ยังมีข้อจำกัดอยู่ โดยเฉพาะเรื่องการทำงานแบบ offline และการแตกงานออกมาทำเพื่อแยกกันทำ จนกระทั่ง Linus Torvalds (คนสร้าง Linux) สร้าง Git ขึ้นมาในปี 2005 เพื่อแก้ปัญหาเหล่านี้โดยตรง
2️⃣ Git คืออะไร และแก้ปัญหาได้ยังไง?
Git เป็น Version Control System ที่บันทึก "สถานะ" ของโปรเจกต์ทุกครั้งที่คุณสั่ง โดยเก็บประวัติเป็นลำดับเหตุการณ์ ดูได้ว่าใครแก้อะไร เมื่อไหร่ และทำไม
มันช่วยแก้ปัญหาที่ว่ามายังไง?
🛠️ สงครามชื่อไฟล์และการแก้ไขไม่รู้จบ
ไม่ต้องตั้งชื่อ v2_FINAL_fix อีกต่อไป คุณแค่สร้าง branch ใหม่ออกมาเพื่อแก้ไขข้อมูลจากไฟล์เดิมได้จนกว่าจะพอใจ และเก็บการแก้ไขในแต่ละ version ได้
🛠️ งานชนกัน ข้อมูลหายหรือเพิ่มก็รู้ได้ทันที
Git สามารถบอกได้ว่าใครแก้บรรทัดไหน มีตรงไหนที่ถูกเพิ่มหรือลบไป
ถ้ามีการแก้ไขที่เดียวกันหรือทับกัน Git จะแจ้งให้แก้ไขก่อน ไม่ทับงานใครโดยไม่รู้ตัว
🛠️ ย้อนเวลาได้
ทุก "จุดเซฟ" ที่สร้างไว้ใน Git สามารถกู้คืนกลับมาได้เสมอ แม้จะผ่านไปนานแล้วก็ตาม
3️⃣ ใช้ Git แล้วได้อะไรบ้าง?
คุณอาจจะคิดว่า Git เป็นเครื่องมือสำหรับ Developer เท่านั้นแต่จริงๆแล้วมันสามารถนำมาปรับใช้กับงานที่เกี่ยวกับไฟล์ได้เกือบทั้งหมด
นี้คือตัวอย่างการใช้งานทั้งในแบบของคนที่เป็น Developer และคนที่ไม่ใช่ Developer
🧑‍💻 ในโลกของ Developer
- ทีมหลายคนช่วยกันพัฒนา feature คนละอันพร้อมกันได้ โดยไม่ขัดกัน
- ถ้า deploy แล้วพังสามารถ rollback กลับ version ก่อนหน้าได้ทันที
- Code review — เปรียบเทียบว่าโค้ดเปลี่ยนไปอะไรบ้างก่อน merge เข้า main
🌍 นอกโลกของ Developer
- นักเขียน / Content Creator — จัดการ draft หลายเวอร์ชัน เปรียบเทียบได้ว่าแก้อะไรไปบ้าง
- Designer — เก็บประวัติไฟล์ออกแบบ ทดลอง direction ใหม่โดยไม่ต้องกลัวทำลายของเดิม
4️⃣ สรุปแบบสั้น
Git เกิดมาเพื่อแก้ปัญหาความวุ่นวายของไฟล์หลายเวอร์ชันและการทำงานร่วมกัน มันทำหน้าที่เป็นเหมือน "เครื่องมือย้อนเวลา" เพื่อกลับไปยังจุดต่างๆ ที่ไฟล์นั้นถูก save ไว้
EP หน้าเราจะมาดูกันว่า Git ทำงานยังไงและเราจะเริ่มใช้งานอย่างไร

ดูเพิ่มเติมในซีรีส์

โฆษณา