ตัวสร้างไฟล์ .gitignore
การไม่มี .gitignore คือสาเหตุที่ทำให้กุญแจ API หลุดเข้าไปในประวัติของ Git และทำให้ node_modules ขนาด 400 MB ถูก push ขึ้น GitHub ตัวสร้างนี้จะให้เทมเพลตที่ผ่านการทดสอบสำหรับสแตกของคุณ, Node, Python, Rails หรือ Laravel, โดยตัดโฟลเดอร์ของ dependency, ผลลัพธ์จากการ build และไฟล์สภาพแวดล้อมออกไว้ให้แล้ว
วิธีสร้างไฟล์.gitignore
-
1
เลือกสแตกของคุณ
Node, Python, Rails หรือ Laravel, แต่ละสแตกล้วนมีไฟล์ชั่วคราวที่เกิดขึ้นเฉพาะตัว
-
2
สร้าง
เครื่องมือนี้จะรวมกฎทั่วไป (.DS_Store, .env, node_modules) เข้ากับกฎเฉพาะของแต่ละสแตก
-
3
บันทึกเป็นไฟล์.gitignore
วางไฟล์ไว้ที่รากของ repos ก่อนทำการคอมมิตครั้งแรก
-
4
คอมมิตไฟล์นั้น
ไฟล์ .gitignore เองก็ควรถูกติดตามด้วย เพราะมันเป็นส่วนหนึ่งของโปรเจกต์ ไม่ใช่การตั้งค่าเฉพาะเครื่องของคุณ
ทำไมบล็อกทั่วไปจึงมีอยู่เสมอ
| กฎ | เหตุผลในการเพิกเฉย |
|---|---|
.DS_Store |
เมตาดาต้าของ macOS Finder, ไม่มีประโยชน์สำหรับเครื่องอื่นเลย |
.env |
ข้อมูลลับ: กุญแจ API, รหัสผ่านฐานข้อมูล, ข้อมูลประจำตัวสำหรับ OAuth |
.env.* |
รูปแบบเฉพาะของแต่ละสภาพแวดล้อม (staging, production) |
!.env.example |
แต่ควรเก็บไฟล์ตัวอย่างไว้ เพื่อให้ผู้มีส่วนร่วมใหม่ทราบรูปแบบของข้อมูล |
node_modules/ |
ติดตั้งได้จาก package.json; มีขนาดใหญ่และเฉพาะสำหรับแพลตฟอร์มใดแพลตฟอร์มหนึ่ง |
กฎเพิ่มเติมเฉพาะของแต่ละสแตก
| สแตก | กฎที่เพิ่มหลัก ๆ |
|---|---|
| Node | dist/, coverage/, npm-debug.log* |
| Python | __pycache__/, .venv/, *.pyc, .pytest_cache/ |
| Rails | log/*, tmp/*, storage/*, /public/assets |
| Laravel | vendor/, /storage/*.key, /public/build, .phpunit.cache/ |
ข้อผิดพลาดที่พบบ่อย
- คอมมิต
.envเร็วเกินไป แล้วค่อยเพิ่มลงใน.gitignoreในภายหลัง ไฟล์นั้นอยู่ในประวัติแล้ว ให้ใช้git rm --cached .envและหมุนเปลี่ยน (rotate) ข้อมูลลับทุกอย่างที่เคยอยู่ในไฟล์นั้น - เพิกเฉยต่อ
.env.exampleไปพร้อมกับ.envเพื่อนร่วมทีมจำเป็นต้องใช้ไฟล์ตัวอย่างในการตั้งค่าโปรเจกต์เริ่มต้น - แพตเทิร์นที่กว้างเกินไป:
*.logอาจซ่อนการตั้งค่า log ที่สำคัญต่อ production ไว้ หากไม่แน่ใจควรระบุให้เจาะจงยิ่งขึ้น - ไฟล์เฉพาะแพลตฟอร์มที่ไม่ได้เป็นของเครื่องคุณเพียงคนเดียว: ควรเพิ่มผ่าน
.gitignoreที่ใช้ร่วมกัน ไม่ใช่ไฟล์ส่วนตัว
gitignore ส่วนตัว เทียบกับ gitignore ของโปรเจกต์
สำหรับไฟล์บรรณาธิการที่เฉพาะตัวของคุณ (เช่น JetBrains IDEs หรือ Emacs) ควรใช้ค่า gitignore แบบ global (~/.config/git/ignore) แทนการกำหนดค่าแยกต่างหากสำหรับแต่ละโปรเจกต์
คำถามที่พบบ่อย
เพราะ .gitignore ป้องกันเพียงไม่ให้ไฟล์ที่ยังไม่ถูกติดตามถูกเพิ่มเข้ามาเท่านั้น หากต้องการหยุดติดตามไฟล์ที่คอมมิตไปแล้ว ให้รันคำสั่ง git rm --cached path/to/file แล้วคอมมิตการเปลี่ยนแปลง จากนั้นกฎจะตัดไฟล์นั้นออกให้เอง
ไม่ ไฟล์ล็อกควรได้รับการบันทึก (commit) เพื่อให้ทุกสภาพแวดล้อมติดตั้งเวอร์ชันที่เหมือนกันอย่างแม่นยำ การเพิกเฉยต่อไฟล์เหล่านี้จะทำให้เกิดข้อผิดพลาดประเภท “ทำงานได้บนเครื่องของฉัน” อีกครั้ง
สลาชหลักจะทำหน้าที่ยึดรูปแบบให้อยู่กับรากของรีพอ ตัวอย่างเช่น /logs จะตรงกับไดเรกทอรีระดับสูงสุด logs/ เท่านั้น ในขณะที่ logs จะตรงกับไดเรกทอรีใดๆ ที่ชื่อว่า logs ไม่ว่าจะอยู่ระดับใดก็ตาม
ไม่ ไฟล์ที่สร้างขึ้นจะไม่ถูกจัดเก็บหรือติดตาม การเลือกสแตกของคุณจะถูกส่งไปยังเซิร์ฟเวอร์ของเราเพื่อสร้างกฎ และในโหมดหลายขั้นตอนก็จะถูกส่งไปพร้อมกับลิงก์ของหน้าด้วยเช่นกัน แต่เนื้อหาของไฟล์จะไม่ถูกเก็บไว้
เครื่องมือที่เกี่ยวข้อง
ตารางอ้างอิง ASCII
ตาราง ASCII ครบตั้งแต่ 0 ถึง 127 พร้อมค่าเลขฐานสิบ ฐานสิบหก ฐานแปด ฐานสอง และรูปแบบการอ้างอิงอักขระแบบตัวเลขของ HTML รวม NUL, LF และ DEL
อ้างอิงตัวอักษร HTML
รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ
ตารางอ้างอิงแป้นพิมพ์ลัด
ค้นหาแป้นพิมพ์ลัดเริ่มต้นตามเอกสารของ VS Code, Chrome และ Bash ที่ใช้ GNU Readline บน macOS, Windows และ Linux
ตัวลดรูปพีชคณิตบูลีน
ประเมินนิพจน์บูลีนสำหรับทุกชุดอินพุตและดูตารางค่าความจริงที่สมบูรณ์ รองรับตัวแปรสูงสุดห้าตัวและตัวดำเนินการ &, |, !, ^
เครื่องสร้างตัวอักษรสุ่ม
สร้างตัวอักษร A-Z แบบสุ่ม เลือกจำนวน ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก หรือแบบผสม แล้วใช้กับเกม โจทย์ หรือกิจกรรมในห้องเรียน
เครื่องมือสร้าง EditorConfig
สร้างไฟล์ .editorconfig ด้วยกฎสไตล์และขนาดการเยื้อง การจบบรรทัด ชุดอักขระ และช่องว่างของคุณ เพื่อให้การจัดรูปแบบสอดคล้องกันในทุก IDE และโปรแกรมแก้ไข
เครื่องมือนี้มีให้บริการในภาษาอื่น
- Gerador de .gitignore [PT]
- Trình tạo .gitignore [VI]
- .gitignore ジェネレーター [JA]
- مولّد ملفات .gitignore [AR]
- Generador de .gitignore [ES]
- .gitignore 생성기 [KO]
- Générateur de .gitignore [FR]
- .gitignore-generator [SV]
- .gitignore-Generator [DE]
- Generator .gitignore [ID]
- .gitignore-generator [NL]
- Generator .gitignore [PL]
- .gitignore Generator [EN]
- Generatore .gitignore [IT]
- Генератор .gitignore [RU]
- .gitignore Oluşturucu [TR]
- .gitignore 生成器 [ZH]