เครื่องมือสร้าง .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 เครื่องมือสร้างกฎจากตัวเลือก ไม่อ่านที่เก็บโค้ดหรืออัปโหลดไฟล์ของคุณ
เครื่องมือที่เกี่ยวข้อง
ตารางอ้างอิงแป้นพิมพ์ลัด
ค้นหาแป้นพิมพ์ลัดเริ่มต้นตามเอกสารของ VS Code, Chrome และ Bash ที่ใช้ GNU Readline บน macOS, Windows และ Linux
อ้างอิงตัวอักษร HTML
รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ
เครื่องสุ่มที่อยู่
สร้างระเบียนคล้ายที่อยู่ 1–20 รายการสำหรับแบบจำลองและการทดสอบ ด้วยรูปแบบประเทศแบบย่อ
ตัวแปลง Timestamp
แปลง timestamp ของ Unix ในหน่วยวินาทีหรือมิลลิวินาทีเป็นวันที่ที่อ่านง่ายในเขตเวลา UTC และเขตเวลาหลัก และแปลงวันที่กลับเป็นค่า epoch
ตัวสร้างลูกศร CSS
สร้างลูกศร CSS ในเบราว์เซอร์ด้วยทิศทาง สี ขนาด และความหนาของเส้นขอบ แล้วคัดลอกกฎ.
ตัวลดรูปพีชคณิตบูลีน
ประเมินนิพจน์บูลีนสำหรับทุกชุดอินพุตและดูตารางค่าความจริงที่สมบูรณ์ รองรับตัวแปรสูงสุดห้าตัวและตัวดำเนินการ &, |, !, ^
เครื่องมือนี้มีให้บริการในภาษาอื่น
- .gitignore ジェネレーター [JA]
- مولّد ملف .gitignore [AR]
- Skapa .gitignore [SV]
- .gitignore-Generator [DE]
- Công cụ tạo .gitignore [VI]
- Générateur de .gitignore [FR]
- .gitignore 생성기 [KO]
- Generator .gitignore [ID]
- Generator .gitignore [PL]
- Generador de .gitignore [ES]
- Gerador de .gitignore [PT]
- .gitignore-generator [NL]
- Генератор .gitignore [RU]
- .gitignore Oluşturucu [TR]
- .gitignore 生成器 [ZH]
- .gitignore Generator [EN]
- Generatore di .gitignore [IT]