ใครก็ตามที่ใช้ Git เพื่อบันทึกการเปลี่ยนแปลงการเขียนโค้ดงานไอที ก็จะรู้ว่ามีบางไฟล์ที่เราไม่ได้ต้องการให้ Git ติดตามการเปลี่ยนแปลง และระบุไฟล์/โฟลเดอร์เหล่านั้นใน .gitignore ซึ่งปกติแล้วเราจะมาใส่เพิ่มเอาเองหลังจากที่พบว่ามีไฟล์เหล่านี้เพิ่มเข้ามาภายในโปรเจคของเรา ในบทความนี้ ผมขอนำเสนอ template ของ .gitignore ตามรูปแบบโปรเจคที่เราพัฒนา และนำไปใช้ต่อได้เลยนะครับ
.gitignore คือ อะไร
คือไฟล์ที่ระบุกฏการยกเว้นให้ Git ทราบว่าจะไม่ติดตามการเปลี่ยนแปลงไฟล์ไหนบ้าง ซึ่งปกติจะอยู่ที่ root directory ของโปรเจค และภายในไฟล์จะระบุชื่อไฟล์/โฟลเดอร์ที่ต้องการยกเว้นการติดตามไว้ในแต่ละบรรทัด
ไฟล์/โฟล์เดอร์แบบไหน ควรระบุอยู่ใน .gitignore
โดยปกติแล้ว จะมีหลักการที่ใช้ในการเลือกว่าจะระบุไฟล์ไหนบ้างอยู่ใน .gitignore ซึ่งสามารถแบ่งเป็นกลุ่มได้ดังนี้
- กลุ่ม dependencies ต่างๆ เช่น /node_modules ใน NodeJS หรือ /packages
- Compiled code เช่น .o, .pyc, and .class
- ไฟล์ที่ถูกสร้างหรือเปลี่ยนแปลง ณ ตอนรันโปรแกรม เช่น .log หรือ .tmp
- ไฟล์ที่ซ่อนอยู่จากระบบ OS เช่น .DS_Store or Thumbs.db
แต่มันคงจะดีกว่านี้อีก ถ้ามีตัวอย่าง gitignore ตามภาษาที่ใช้พัฒนาหรือ Framework ให้พร้อมเลย…
.gitignore Template คืออะไร
https://github.com/github/gitignore
เป็นโปรเจคที่ร่วมพัฒนาโดยนักพัฒนาหลายๆคนมารวมๆกัน เพื่อสร้างไฟล์ gitignore ของแต่ละภาษาที่ใช้พัฒนาและรวมถึง Framework ต่างๆด้วย ซึ่งมีตั้งแต่ C, C++, PHP, Python, Java ไปยัง Framework ที่นิยมกัน ไม่ว่าจะเป็น CakePHP, CodeIgniter, WordPress, Unity, Unreal Engine และอื่นๆอีกมากมาย
หรือเครื่องมือ gitignore.io
หรือถ้าเพื่อนๆขี้เกียจค้นหาไฟล์เอง ก็สามารถใช้เครื่องมือ https://www.toptal.com/developers/gitignore/ แล้วพิมพ์ภาษาหรือ Framework ที่ใช้เพื่อให้สร้าง gitignore ให้โหลดได้เลย
เว็บนี้พัฒนาโดย Toptal บริษัทจัดหาคนไอทีไปทำงานในองค์กรต่างๆ ซึ่งหากเพื่อนๆสนใจ ก็ลองไปฝาก CV/Resume ไว้ได้ที่เว็บ https://www.toptal.com ได้นะครับ