gitignore สำคัญไฉน

ผมเชื่อว่าคนที่เพิ่งเริ่มใช้งาน git (หรืออาจจะใช้งานไปนานแล้วก็เป็นได้) ประสบปัญหาเวลา commit code ขึ้น git แล้วไม่ต้องการให้ไฟล์บางไฟล์หรือไฟล์บางประเภทขึ้นไปอยู่บน repository ของเรา เช่น

  • ไฟล์ binary ต่างๆ
  • ไฟล์ config ต่างๆ ที่ไม่ควรขึ้นไปอยู่บน repository เช่น การตั้งค่าการเชื่อมต่อฐานข้อมูล เป็นต้น
  • ไฟล์ที่สร้างขึ้นจาก IDE ที่เราใช้เขียนโปรแกรม

ทั้งหมดนี้ สามารถแก้ปัญหาได้ด้วยไฟล์ที่ชื่อว่า gitignore ครับ

โดยไฟล์ gitignore จะชื่อว่า ".gitignore" (มีเครื่องหมายจุดด้านหน้า 1 อัน ความหมายของมันคือ เป็นไฟล์ที่จะถูกซ่อนเอาไว้) เพียงแค่เราใส่ไฟล์นี้เอาไว้ใน repository ของเรา แต่มีข้อแม้ว่า เราจะต้องเพิ่มไฟล์ gitignore แล้ว commit มันไปครั้งแรกตั้งแต่สร้าง repository ไม่อย่างนั้น จะเกิดความยุ่งยากขึ้นมาได้

ในไฟล์ gitignore เราสามารถสร้างกฏเพื่อที่จะละเว้นไฟล์ใน repository ได้ เช่น คุณจะทำการจะละเว้นไฟล์ exe ทั้งหมด ไม่ให้เอาขึ้น repository เราสามารถเขียนได้แบบนี้ครับ

*.exe

แค่นี้ เราก็สามารถละเว้นไฟล์ exe ไม่ให้เอาขึ้น repository ได้แล้วครับ

ที่นี้ก็มีปัญหาตรงที่ว่า แต่ละภาษา แต่ละ framework เนี่ย มันมีไฟล์ที่ต้องละเว้นแตกต่างกัน เราจะแก้ปัญหานี้ได้อย่างไร

ก็มีคนมาแก้ปัญหานี้ให้เราครับ โดยมีคนมารวบรวมไฟล์ gitignore ของภาษาและ framework ต่างๆ โดยเราสามารถไปดาวน์โหลดมาใช้ได้ฟรีๆ ด้านล่างเลยครับ

https://github.com/github/gitignore