เมื่อวันที่ 7 เมษายนที่ผ่านมาเป็นวันครบรอบการใช้งาน Git ทาง GitHub ได้สัมภาษณ์ไลนัส ทอร์วัลด์ส ผู้ดูแลโครงการลินุกซ์และผู้เริ่มโครงการ Git ซึ่งไลนัสได้เล่าถึงจุดเริ่มต้นและระบุว่าเขาดูแลโครงการนี้เพียงเล็กน้อยเท่านั้น
จุดเริ่มต้นของ Git นั้นเริ่มต้นช่วงปลายปี 2004 ที่ตอนนั้นลินุกซ์ยังใช้ BitKeeper ดูแลโค้ดอยู่แต่ BitKeeper ไม่ใช่โปรแกรมโอเพนซอร์สแม้จะเปิดให้โครงการโอเพนซอร์สใช้งานได้ฟรี เพราะ Larry McVoy ผู้สร้าง BitKeeper รู้จักกับไลนัสและอยากสนับสนุนโครงการโอเพนซอร์ส แต่ต่อมา Andrew Tridgell ก็ reverse engineer ตัว BitKeeper ทำให้เกิดความขัดแย้งกัน ไลนัสพยายามพูดคุยกับทั้งสองฝ่ายแต่ไม่สำเร็จ จึงต้องเขียน Git ขึ้นมา
ไลนัสใช้เวลาเขียน Git เต็มเวลาประมาณ 10 วัน ได้โค้ดมาทั้งหมดประมาณหมื่นบรรทัด เขาดูแลโครงการต่อจากนั้นเพียง 3-4 เดือน แล้วยกให้ Junio Hamano ที่ดูแลโครงการต่อจนทุกวันนี้
เขาระบุว่าแทบไม่ได้ติดตามความเปลี่ยนแปลงของ Git แล้วในช่วงหลัง โดยเขาใช้คำสั่ง merge, blame, และ log เป็นหลักและมันเพียงพอต่อการใช้งานแล้ว พร้อมกับแสดงความแปลกใจเมื่อลูกสาวของเขาบอกว่าเพื่อนๆ ของเธอรู้จักไลนัสเพราะ Git มากกว่าลินุกซ์เสียอีก ซึ่งเป็นเรื่องประหลาดเพราะเขาใช้เวลาพัฒนา Git อยู่แค่สี่เดือน
เขายังพูดถึงการใช้งาน Git ในรูปแบบที่เขาคิดไม่ถึงและคิดว่าเป็นการใช้ที่ผิดจากแนวทางที่ออกแบบไว้ เช่น ไมโครซอฟท์ทำ monorepo หรือเขาไม่เข้าใจว่าทำไมมีคนพยายามเอาไฟล์ใหญ่ๆ ไปใส่ใน Git
ที่มา - GitHub Blog
Comments
เห็นด้วยกับตรงนี้
หรือเขาไม่เข้าใจว่าทำไมมีคนพยายามเอาไฟล์ใหญ่ๆ ไปใส่ใน Git
บางทีพวก weight, dataset ก็ไปอยู่ใน GitHub
บางทีก็แบบ ไม่รู้จะเอาไปเก็บไว้ไหนดีครับ จะเซ็ต VCS สองตัวแล้วใช้ข้ามกันไปมาบางทีมันแอบน่ารำคาญอยู่นะ
ฟังสัมภาษณ์นี้แล้วสนุกมาก
ผมเคยใช้คำสั่ง Git แค่ clone, fetch, merge, pull, push, branch, switch, checkout, log, commit, stash, bisect ที่เหลือคือแทบไม่เคยใช้และใช้ไม่เป็น ฮ่า แม้กระทั่ง rebase ก็เคยแค่ฝึก แต่ไม่เคยใช้งานจริง เนื่องจากส่วนตัวไม่ค่อยได้ทำงานโปรเจคใหญ่ๆที่ใช้ git ด้วยแหละ
..: เรื่อยไป
"พร้อมกับแสดงความแปลกใจเมื่อลูกสาวของเขาบอกว่าเพื่อนๆ ของเธอรู้จักไลนัสเพราะ Git มากกว่าลินุกซ์เสียอีก"
เพื่อนลูกสาว ถ้ามาสาย mac หรือ windows คงไม่รู้หรือไม่สนใจว่าใครสร้าง linux แต่สำหรับ dev จะ OS ไหนก็ต้องรู้จัก git อะแหละ