เครื่องมือสร้าง .gitignore
เลือกเทคโนโลยีของโปรเจกต์อย่างน้อยหนึ่งรายการ
ถัดไป: ตรวจสอบกฎเลือกเทคโนโลยีที่ใช้ในที่เก็บโค้ดเพื่อสร้าง .gitignore ของโปรเจกต์สำหรับไฟล์ที่สร้างขึ้น แพ็กเกจที่ติดตั้ง และไฟล์สภาพแวดล้อมในเครื่อง เลือกได้มากกว่าหนึ่งเทคโนโลยี กฎเสริมสำหรับระบบปฏิบัติการและโปรแกรมแก้ไขโค้ดจะแสดงแยกต่างหาก เพื่อให้คุณนำกฎส่วนตัวไปไว้ในไฟล์ยกเว้น Git แบบส่วนกลาง
สร้างและใช้กฎละเว้นไฟล์
-
1
เลือกเทคโนโลยีของโปรเจกต์
เลือกทุกเทคโนโลยีที่ใช้ในที่เก็บโค้ด เช่น Laravel กับ Node.js สำหรับแอป PHP ที่มีขั้นตอนสร้างส่วนหน้า
-
2
เพิ่มกฎส่วนตัวเมื่อจำเป็น
เลือกระบบปฏิบัติการหรือโปรแกรมแก้ไขโค้ดเพื่อดูกฎยกเว้นส่วนกลางที่แยกไว้ หากไฟล์ส่วนกลางเดิมครอบคลุมอยู่แล้วก็ไม่ต้องเลือก
-
3
ตรวจสอบ แล้วคัดลอกหรือดาวน์โหลด
ตรวจสอบกฎของโปรเจกต์ คัดลอกกฎลงในไฟล์ `.gitignore` ที่โฟลเดอร์รากของที่เก็บโค้ด หรือดาวน์โหลดไฟล์ ZIP แล้วแตกไฟล์ `.gitignore` จาก ZIP ไปไว้ที่นั่น เก็บกฎส่วนตัวที่เลือกใช้ไว้ในไฟล์ยกเว้น Git แบบส่วนกลาง
-
4
ตรวจสอบก่อนคอมมิต
คอมมิต `.gitignore` ของโปรเจกต์เพื่อให้เพื่อนร่วมทีมได้รับด้วย ตรวจสอบว่าไฟล์ที่ต้องการเก็บ โดยเฉพาะไฟล์ตัวอย่างและไฟล์ล็อกเวอร์ชันแพ็กเกจ ยังปรากฏให้ Git ติดตามได้
กฎแต่ละประเภทควรอยู่ที่ไหน?
| ประเภทกฎ | ตำแหน่งที่ควรใส่ | ตัวอย่าง |
|---|---|---|
| ผลลัพธ์จากการสร้างโปรเจกต์และแพ็กเกจที่ติดตั้ง | .gitignore ที่คอมมิตไว้ในที่เก็บโค้ด |
node_modules/, vendor/, __pycache__/ |
| ค่าของสภาพแวดล้อมในเครื่อง | .gitignore ของโปรเจกต์ |
.env และไฟล์ .env.* ที่ใช้ในเครื่อง |
| ไฟล์ส่วนตัวจากระบบปฏิบัติการและโปรแกรมแก้ไขโค้ด | ไฟล์ยกเว้น Git แบบส่วนกลาง หรือ .git/info/exclude หากใช้กับที่เก็บโค้ดเดียว |
ข้อมูลเมตาของ Finder หรือไฟล์สำรองจากโปรแกรมแก้ไขโค้ด |
| ไฟล์ที่ผู้ร่วมงานต้องใช้ | ให้ Git ติดตามต่อเมื่อเหมาะสม | .env.example, package-lock.json, composer.lock, Gemfile.lock |
Git อ่าน .gitignore ของโปรเจกต์, .git/info/exclude ที่ใช้เฉพาะที่เก็บโค้ด และไฟล์ส่วนตัวที่กำหนดด้วย core.excludesFile เมื่อคอมมิต .gitignore กฎของโปรเจกต์จะถูกแชร์ไปกับที่เก็บโค้ด ส่วนกฎส่วนตัวโดยทั่วไปมีผลเฉพาะบนคอมพิวเตอร์ของคุณ อ่านเพิ่มเติมในคู่มือกฎละเว้นของ Git และคู่มือการละเว้นไฟล์ของ GitHub
ตัวอย่าง: บริการ Node.js ที่มีสคริปต์ Python
เลือก Node.js และ Python ไฟล์ของโปรเจกต์จะรวมกฎสำหรับแพ็กเกจที่ติดตั้ง เช่น node_modules/, ผลลัพธ์จากการสร้างด้วย Node เช่น dist/ และไฟล์ที่ Python สร้าง เช่น __pycache__/ กับ .venv/ นอกจากนี้ยังละเว้นค่าใน .env ที่ใช้ในเครื่อง โดยยังเปิดทางให้ติดตาม .env.example ได้ หากใช้ Mac และ Visual Studio Code ให้เลือกตัวเลือกส่วนตัวเหล่านั้นเพื่อดูกฎแยกต่างหาก ตรวจสอบผลลัพธ์ทั้งสองส่วนกับที่เก็บโค้ดจริงก่อนบันทึก
เครื่องมือสร้างกฎจากแม่แบบที่เลือก ไม่สามารถอ่านไฟล์ของคุณหรือรู้ว่าโฟลเดอร์ dist/ เป็นผลลัพธ์ที่สร้างขึ้นหรือซอร์สโค้ดที่ควรคอมมิต หากกฎขัดกับโปรเจกต์ ให้จำกัดขอบเขตหรือลบกฎนั้น ใช้ git check-ignore -v path/to/file เพื่อดูว่ากฎใดมีผลกับไฟล์ที่ Git ยังไม่ติดตาม ชุดแม่แบบของ GitHub ช่วยใช้อ้างอิงกฎตามเทคโนโลยีและโปรแกรมแก้ไขโค้ดได้ แต่ยังต้องตรวจสอบที่เก็บโค้ดของคุณเอง
ไฟล์สภาพแวดล้อมและไฟล์ล็อกเวอร์ชัน
การละเว้น .env ช่วยป้องกันไม่ให้ข้อมูลลับในเครื่องเข้าไปในคอมมิตใหม่ แต่ไม่ลบความลับที่เคยคอมมิตแล้ว หากความลับอยู่ในประวัติ Git ให้หยุดติดตามไฟล์ ตรวจสอบว่าข้อมูลถูกคัดลอกไปที่ใดบ้าง และเปลี่ยนข้อมูลรับรองนั้น เก็บ .env.example ที่ผ่านการล้างข้อมูลไว้ได้เฉพาะเมื่อมีค่าตัวอย่างแทนความลับจริง ไฟล์ .gitignore ที่สร้างขึ้นมีข้อยกเว้น !.env.example อยู่แล้ว เพื่อไม่ให้กฎ .env.* ที่ครอบคลุมกว่าซ่อนไฟล์ตัวอย่าง หากแก้ไขกฎ ให้คงข้อยกเว้นนี้ไว้
สำหรับแอปพลิเคชัน ควรคอมมิตไฟล์ล็อกเวอร์ชันแพ็กเกจเพื่อให้ติดตั้งเวอร์ชันเดิมซ้ำได้ npm แนะนำให้คอมมิต package-lock.json และ Composer แนะนำให้คอมมิต composer.lock โปรเจกต์ที่เป็นไลบรารีอาจมีแนวทางต่างกัน ให้ยึดนโยบายการสร้างและเผยแพร่ของโปรเจกต์
คำถามที่พบบ่อย
กฎละเว้นมีผลกับไฟล์ที่ Git ยังไม่ติดตาม หากต้องการหยุดติดตามแต่เก็บสำเนาในเครื่องไว้ ให้ใช้ git rm --cached path/to/file แล้วคอมมิตการนำไฟล์ออก หากไฟล์มีข้อมูลรับรอง ให้เปลี่ยนข้อมูลนั้นและตรวจสอบประวัติที่เก็บโค้ดรวมถึงสำเนาอื่น
โดยทั่วไปควรให้ Git ติดตาม .env.example ที่ไม่มีความลับจริงและไฟล์ล็อกเวอร์ชันของแอป ไฟล์ตัวอย่างระบุชื่อตัวแปรสภาพแวดล้อมที่จำเป็น ส่วนไฟล์ล็อกช่วยกำหนดเวอร์ชันแพ็กเกจให้ตรงกันสำหรับทีมและการนำขึ้นใช้งาน ตรวจสอบว่าไฟล์ตัวอย่างไม่มีความลับจริง
ได้ เลือกทุกเทคโนโลยีที่ใช้ในที่เก็บโค้ดเดียวกัน เครื่องมือจะรวมกฎของโปรเจกต์ที่เลือกไว้ใน .gitignore ไฟล์เดียว ตรวจสอบผลลัพธ์หากโปรเจกต์ของคุณใช้บางพาธในลักษณะอื่น
ใช้ไฟล์ยกเว้น Git แบบส่วนกลางสำหรับกฎส่วนตัวที่ใช้กับหลายที่เก็บโค้ด หากไม่ได้กำหนด XDG_CONFIG_HOME โดยปกติ Git จะใช้ ~/.config/git/ignore และคุณกำหนดพาธอื่นได้ด้วย core.excludesFile หากต้องการกฎส่วนตัวสำหรับที่เก็บโค้ดนี้เท่านั้น ให้ใช้ .git/info/exclude อย่านำผลลัพธ์กฎส่วนตัวไปใส่ในไฟล์โปรเจกต์ที่ใช้ร่วมกัน เว้นแต่ทีมต้องการกฎเหล่านั้น
เทคโนโลยีที่เลือกและตัวเลือกระบบปฏิบัติการหรือโปรแกรมแก้ไขโค้ดจะถูกส่งไปยังเซิร์ฟเวอร์เพื่อสร้างกฎ ในขั้นตอนแบบหลายหน้า ตัวเลือกเหล่านี้ยังปรากฏใน URL ของหน้าเว็บด้วย อย่าใส่ข้อมูลลับใน URL เครื่องมือสร้างกฎจากตัวเลือก ไม่อ่านที่เก็บโค้ดหรืออัปโหลดไฟล์ของคุณ
เครื่องมือที่เกี่ยวข้อง
อ้างอิงตัวอักษร HTML
รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ
ตารางอ้างอิงแป้นพิมพ์ลัด
ค้นหาแป้นพิมพ์ลัดเริ่มต้นตามเอกสารของ VS Code, Chrome และ Bash ที่ใช้ GNU Readline บน macOS, Windows และ Linux
เครื่องสุ่มที่อยู่
สร้างระเบียนคล้ายที่อยู่ 1–20 รายการสำหรับแบบจำลองและการทดสอบ ด้วยรูปแบบประเทศแบบย่อ
ตัวลดรูปพีชคณิตบูลีน
ประเมินนิพจน์บูลีนสำหรับทุกชุดอินพุตและดูตารางค่าความจริงที่สมบูรณ์ รองรับตัวแปรสูงสุดห้าตัวและตัวดำเนินการ &, |, !, ^
ตัวสร้างลูกศร CSS
สร้างลูกศร CSS ในเบราว์เซอร์ด้วยทิศทาง สี ขนาด และความหนาของเส้นขอบ แล้วคัดลอกกฎ.
ตารางอ้างอิง ASCII
ตาราง ASCII ครบตั้งแต่ 0 ถึง 127 พร้อมค่าเลขฐานสิบ ฐานสิบหก ฐานแปด ฐานสอง และรูปแบบการอ้างอิงอักขระแบบตัวเลขของ HTML รวม NUL, LF และ DEL
เครื่องมือนี้มีให้บริการในภาษาอื่น
- Generator .gitignore [ID]
- Generator .gitignore [PL]
- Generador de .gitignore [ES]
- Gerador de .gitignore [PT]
- .gitignore ジェネレーター [JA]
- .gitignore 생성기 [KO]
- Công cụ tạo .gitignore [VI]
- Skapa .gitignore [SV]
- مولّد ملف .gitignore [AR]
- .gitignore-Generator [DE]
- Générateur de .gitignore [FR]
- .gitignore-generator [NL]
- .gitignore Generator [EN]
- Generatore di .gitignore [IT]
- Генератор .gitignore [RU]
- .gitignore Oluşturucu [TR]
- .gitignore 生成器 [ZH]