.gitignore Files มี List ของ Files ที่ Git ควร Ignore ใน Local Project .gitignore File มักอยู่ใน Main Directory ของ Project คุณ Ignore Single Files, Multiple Files, หรือ Folders ได้
คุณอาจมี Files ที่ไม่อยาก Include ใน Main Version ของ Git Repository Files เหล่านี้อาจมี Configurations หรือ Local Variables ที่ Private และไม่ควรให้ Collaborators อื่นๆ เห็น
นี่คือที่มาของ .gitignore File ไฟล์นี้สั่ง Git Ignore Files ได้
ในคู่มือนี้จะพูดถึง .gitignore คืออะไร ทำงานยังไง และเขียน .gitignore File เองยังไง เริ่มกันเลย!
.gitignore File คืออะไร?
.gitignore File List Files ที่ Git จะ Ignore .gitignore Files มักอยู่ใน Root Directory ของ Project Files ที่ Tracked โดย Git ไม่ Ignored เว้นแต่ Remove ออกจาก Project
Git เมื่อ Add เข้า Commit หมายถึงทุก File รวม Config Files และ Compiled Code จะ Add เข้า Commit หากใช้ * Operator Operator นี้ Stage All Files เข้า Commit
บ่อยครั้ง Developers อยาก Ignore Output Folders, Hidden System Files, และ Compiled Code ตัวอย่าง หากมี .env File ใน Repository อาจอยากซ่อน เพราะ .env Files มักมี API Keys ที่ไม่อยาก Commit ไป Repository ที่หลายคนเข้าถึง
ไม่มี Ignore Command สำหรับ Ignore Files ต้องทำ List ของ Files ที่อยาก Ignore ใน .gitignore File
วิธีเขียน .gitignore File
สร้าง .gitignore File ง่าย เปิด Command Shell สร้าง Text File ชื่อ .gitignore ใน Root Directory ของ Project ทำได้ด้วย Touch Command:
เราสร้าง .gitignore File แล้ว ไม่ต้อง Setup File ด้วย Configuration Settings ใดๆ ขั้นต่อไป Add List ของ Files ที่อยาก Ignore Files นี้กลายเป็น Untracked Files คำอีกอย่างสำหรับ File ที่ Git Ignore ใน Local Repository
Consider .gitignore File ต่อไปนี้:
File นี้ Ignore สอง Resources: ทุก Files ใน node_modules Directory และ .env File เรา Ignore สอง Resources เฉพาะใน Local Repository: Folder และ File
นี่เป็น Setup พוצ่มกับ JavaScript Projects node_modules มี Local Copy ของ Dependencies ทั้งหมดที่ใช้โปรเจกต์ Impractical ที่จะ Commit เข้า Repository เมื่อ Install Dependencies เองได้ .env File มี API Keys Bad Practice Share API Keys ใน Repository ที่หลายคนเข้าถึง
สมมติอยาก Ignore Multiple Files หรือ Directories ทำได้ด้วย * Wildcard
ลอง Ignore ทุก .pyc Files ใน Repository:
Files ทั้งหมดที่ Name Patterns Match *.pyc จะ Ignored Asterisk คือ Wildcard Operator
GitHub สร้าง Collection ของ gitignore Files ยอดเยี่ยมใช้ได้บน Site ของพวกเขา View GitHub's Collection of gitignore Files
ใช้ Multiple .gitignore Files
คุณใช้ Multiple .gitignore Files ใน Repository เดียวกันได้ นี่ Work เพราะ .gitignore Relative ถึง Directory ที่วางไว้
ใน Example ก่อน เราวาง .gitignore ใน Root Directory ของ Project สมมติอยาก Ignore Files ที่จบด้วย .pyc ใน diff/ Folder ทำได้โดยสร้าง File ชื่อ .gitignore ใน diff Folder ด้วย Command Line:
เราจะ Add Rule ต่อไปนี้ใน .gitignore File:
ตอน Commit Code ไป Repository Git จะ Ignore File ใดๆ ใน diff/ Folder ที่จบด้วย .pyc
Setup นี้ Best เมื่อต้องการ Rules Apply แค่ Certain Folders ใน Project แต่อาจ Confusing ที่มี Multiple .gitignore Files ใน Project เดียว Alternative คือ Specific มากขึ้นตอนระบุ Files ที่ Project ควร Ignore หาก Specific คุณเก็บ Rules ทั้งหมดใน .gitignore File เดียวได้ Consider File นี้:
.gitignore นี้อยู่ใน Root Directory ของ Git Project สั่ง Git Ignore Files จบด้วย .txt ทั้ง Project และสั่ง Ignore Files จบด้วย .pyc ใน diff/ Folder
วิธีสร้าง Global Git Ignore Rule
Define .gitignore File ทุก Project ที่สร้าง Time-consuming กว่า กว่า คุณมักพบว่า Most Projects ใช้ Same Set ของ .gitignore Rules
คุณ Set Global Git Ignore Rule ได้ ซึ่งจะ Auto-set Gitignore Rules สำหรับทุก Repository บน System ไฟล์นี้มักวางใน Home Directory ของ OS เช่น /home/your_username หรือ /Users/your_username
สร้าง Global .gitignore File:
คำสั่งนี้สร้าง Empty .gitignore File ใน Home Directory เปิด File นี้ Add Rules ที่ต้องการ Set สำหรับ Git Repositories ทั้งหมดบน System

"Career Karma เข้ามาในชีวิตฉันเมื่อฉันต้องการมากที่สุด และช่วยจับคู่กับบูทแคมป์ได้เร็ว สองเดือนหลังจบ ฉันพบงานฝันที่ตรงกับคุณค่าและเป้าหมายในชีวิต!"
Venus, วิศวกรซอฟต์แวร์ที่ Rockbot
ค้นหาบูทแคมป์ของคุณ
หลัง Configure gitignore File แล้ว Enforce Rules ด้วย Property core.excludesFile:
git config --global core.excludesFile ~/.gitignore
คำสั่งนี้ Set Rules ใน ~/.gitignore File Apply ให้ Git Repositories ทั้งหมดบน Computer
ระวังตอน Define Global Git Ignore Rule เพราะ Rules ใน Global .gitignore Set By Default ทุก Projects
Global .gitignore File เหมาะสำหรับ Common Files เช่น .env ที่เกือบไม่เคยอยาก Commit ไป Git Repository
วิธี Ignore Committed File
คุณไม่ได้ Anticipate เสมอว่าจะอยาก Ignore Files ไหนใน Project อาจเป็นกรณีที่ Committed File ไป Repository แล้วแต่อยาก Ignore ตอนนี้
ลอง Ignore File config.json File นี้ Committed ไป Repository แล้ว เริ่มด้วย Add Ignore Rule ใน .gitignore File:
echo config.json >> .gitignore
คำสั่งนี้ Append config.json ไปท้าย .gitignore File ตอนนี้ต้อง Remove File จาก Repository ทำได้ด้วย git rm --cached Command คำสั่งนี้ลบ File จาก Repository เท่านั้น จะคง Local File บน Computer ไว้
git rm --cached config.json
Next Time สร้าง Commit config.json File จะถูก Ignored
วิธี Commit Ignored File
คุณ Commit File ที่ Ignored ใน .gitignore File ได้
อาจ Useful หากสร้าง Default Config Files ที่อยาก Commit ไป Repository ที่ Ignored ปกติ Commit Ignored File ได้ด้วย Flag -f ตอน Add File ไป Staging Area:
git add -f config.json git commit -m "feat: Create default config file"
Code นี้ Add File config.json ไป Staging Area แล้วสร้าง Commit จาก Contents ของ Staging Area อ่านเพิ่มเติม git add ใน git add Tutorial อ่าน git commit Command ใน git commit Tutorial
สรุป
.gitignore File ให้ Ignore Files ใน Git Repository
คุณอาจไม่อยาก Include ทุก Files ใน Local Copy ของ Project ใน Commits ตัวอย่าง ไม่อยาก Commit Compiled Code, System Logs, หรือ Config Files เพื่อ Ignore Files ให้ระบุไฟล์ที่อยาก Ignore ใน .gitignore
Project หนึ่งอาจมี .gitignore Files หลายตัว คุณ Override .gitignore Rule ได้ด้วย Flag -f ตอนใช้ git add Command
ตอนนี้คุณพร้อมใช้ .gitignore File อย่าง Expert แล้ว!