แก้ไข: Gitignore ไม่ทำงาน

GitHub กลายเป็นผู้บุกเบิกชั้นนำในด้านการทำงานร่วมกันของโค้ดและการแบ่งปันพื้นที่เก็บข้อมูล GitHub เป็นซอฟต์แวร์ควบคุมเวอร์ชันเป็นหลักซึ่งช่วยให้ผู้ใช้สามารถควบคุมการควบคุมเวอร์ชันกระจายและ SCM (การจัดการซอร์สโค้ด) แพลตฟอร์มนี้ถูกใช้โดยธุรกิจและ บริษัท ใหญ่ ๆ ทั่วโลก

แพลตฟอร์มเหล่านี้มีคุณสมบัติทางเทคนิคและปัญหา ปัญหาเฉพาะอย่างหนึ่งที่ผู้เขียนโปรแกรมพบคือ. gitignore ไม่ทำงานใน GitHub แพลตฟอร์มไม่สนใจ. gitignore หรือทำงานบางส่วน เป็นที่น่าสังเกตว่าปัญหาอาจแตกต่างกันเล็กน้อยในแต่ละกรณีเนื่องจากแต่ละกรณีเป็นสถานการณ์ที่แตกต่างกันอย่างสิ้นเชิง อย่างไรก็ตามโซลูชันที่เราระบุไว้จะมีการแก้ไขซึ่งจะทำงานได้ในระดับสากล

. gitignore คืออะไร?

Git (หรือ GitHub) จะเห็นทุกไฟล์ในไดเรกทอรีการทำงานของคุณ มันกำหนดลักษณะแต่ละไฟล์เป็นหนึ่งในสาม:

  • ติดตาม:ไฟล์เหล่านี้ถูกผูกมัดหรือจัดฉากก่อนหน้านี้ในประวัติ
  • ที่ไม่ได้ติดตาม:เหล่านี้เป็นไฟล์ที่ยังไม่ได้รับก่อนหน้านี้ฉากหรือความมุ่งมั่น
  • ละเว้น:ไฟล์เหล่านี้เป็นไฟล์ที่ผู้ใช้เองบอกให้ Git ละเว้นโดยสิ้นเชิง

ไฟล์ที่ถูกละเว้นเหล่านี้อาจแตกต่างกันไปตามสถานการณ์และส่วนใหญ่เป็นไฟล์ที่สร้างโดยเครื่องหรือสร้างสิ่งประดิษฐ์ นี่คือแนวทางปฏิบัติทั่วไป คุณอาจละเลยไฟล์อื่น ๆ ตามความต้องการของคุณเอง ตัวอย่างบางส่วนของไฟล์เหล่านี้ ได้แก่ :

  • รหัสที่คอมไพล์:ไฟล์เหล่านี้มักมีนามสกุล. class, .pyc, .ccp เป็นต้น
  • ไฟล์ระบบที่ซ่อนอยู่: ไฟล์เหล่านี้เป็นไฟล์ที่ระบบใช้สำหรับการดำเนินการ แต่ถูกซ่อนจากมุมมองธรรมดาเช่น DS_Store หรือ Thumbs.db เป็นต้น
  • สร้างไดเร็กทอรีเอาต์พุต:ส่วนใหญ่เป็นไดเร็กทอรีของ / bin, / out ฯลฯ
  • แคชอ้างอิง:ไฟล์เหล่านี้อาจเป็นเนื้อหาของโมดูล / node หรือ / package
  • ไฟล์คอนฟิกูเรชัน IDE: เป็นไฟล์กำหนดค่าซึ่งส่วนใหญ่สร้างหรือจัดการโดยซอฟต์แวร์ IDE ของคุณ
  • ไฟล์ที่สร้างขณะรันไทม์:มีบางโปรแกรมที่สร้างไฟล์ในขณะรันไทม์ หากมีการเรียกใช้โค้ดดังกล่าวไฟล์บางไฟล์อาจถูกสร้างขึ้นในขณะทำงานในโฟลเดอร์การทำงานของคุณและคุณอาจละเว้นใน Git

ไฟล์ใดก็ตามที่คุณต้องการละเว้นจะถูกติดตามในไฟล์พิเศษชื่อ. gitignore ซึ่งส่วนใหญ่จะตรวจสอบในรูทของที่เก็บที่ใช้งานได้ของคุณ ตามเอกสารอย่างเป็นทางการของ GitHub ในหัวข้อนี้ไม่มีคำสั่ง gitignore ที่เฉพาะเจาะจง แต่คุณต้องแก้ไขไฟล์ด้วยตนเองที่คุณต้องการละเว้น ไฟล์. gitignore มีรูปแบบที่จับคู่กับชื่อไฟล์ในที่เก็บการทำงานของคุณและใช้เพื่อช่วยในการพิจารณาว่าไฟล์เฉพาะควรถูกละเว้นหรือไม่

อะไรทำให้. gitignore ไม่ทำงาน?

คุณลักษณะ. gitignore อาจทำงานได้อย่างสมบูรณ์ แต่คุณอาจไม่ได้กำหนดค่าอย่างถูกต้อง ในการสำรวจทั้งหมดของเราเราได้ข้อสรุปว่าโมดูลใช้งานได้จริง สาเหตุที่ผู้เขียนโค้ดไม่สามารถใช้คุณลักษณะนี้ได้ส่วนใหญ่เป็นเพราะพวกเขาไม่ได้กำหนดค่าไฟล์อย่างถูกต้องหรือมีเงื่อนไขบางประการที่ไม่ตรงตามรหัสที่ใช้อยู่

นี่คือวิธีแก้ปัญหาบางส่วนที่อาจเหมาะกับคุณ แต่ละวิธีอาจใช้ไม่ได้ในกรณีของคุณดังนั้นโปรดเปลี่ยนไปใช้วิธีถัดไปหากไม่ตรงตามเงื่อนไขเริ่มต้น

โซลูชันที่ 1: การตรวจสอบไฟล์. gitignore

มีกรณีที่น่าสนใจเกิดขึ้นเมื่อเราเห็นว่าไฟล์. gitignore ถูกสร้างขึ้นในรูปแบบที่ไม่ถูกต้อง ปัญหานี้เกิดขึ้นเมื่อผู้ใช้สร้างไฟล์โดยใช้แอปพลิเคชันเริ่มต้นของ Notepad ใน Windows OS ปรากฎว่า Notepad เขียนไฟล์ใน Unicode แทนรูปแบบ ANSI ในวิธีนี้เราจะบันทึกการเปลี่ยนแปลงของ Notepad ในรูปแบบ. gitignore ที่ถูกต้องและดูว่าวิธีนี้ช่วยแก้ปัญหาได้หรือไม่

หมายเหตุ:คุณต้องลบนามสกุลของ. txt ออกจากไฟล์เมื่อคุณสร้างไฟล์ใหม่โดยใช้ Notepad

  1. หลังจากที่เขียนรหัสหรือการเปลี่ยนแปลงในเอกสารข้อความใหม่ใน Notepad คลิกที่ไฟล์และเลือกบันทึกเป็น
  1. ตอนนี้ในหน้าของการเข้ารหัสเลือกANSI ตอนนี้ลบนามสกุลไฟล์ของ. txt และบันทึกไฟล์ด้วยชื่อ ' .gitignore ' เลือกไดเร็กทอรีที่ถูกต้องและบันทึก
  1. ตอนนี้ไปที่ไดเร็กทอรีและตรวจสอบว่าไฟล์ถูกสร้างขึ้นหรือไม่ ตอนนี้ทดสอบอีกครั้งด้วย Git และดูว่าคุณลักษณะละเว้นทำงานตามที่คาดไว้หรือไม่

นักพัฒนาควรละเว้นจากการใช้ Notepad เริ่มต้นใน Windows คุณควรใช้แผ่นจดบันทึก 'โปรแกรมเมอร์' ที่เหมาะสมแทน ตัวอย่างบางส่วน ได้แก่ Notepad ++ เป็นต้นซึ่งคุณจะไม่มีปัญหาเช่นนี้

หมายเหตุ:หากไฟล์ของคุณถูกบันทึกในรูปแบบ UNICODE แล้วคุณควรบันทึกเนื้อหาในรูปแบบ ANSI อย่างถูกต้องหากคุณต้องการให้ Git ตรวจพบไฟล์ของคุณอย่างถูกต้อง

แนวทางที่ 2: ตรวจสอบไฟล์ที่คุณพยายามละเว้น

สภาพที่ .gitignore ทำงานก็คือว่าไฟล์ของคุณไม่ควรจะเป็นส่วนหนึ่งของพื้นที่เก็บข้อมูลเลย นี่เป็นส่วนที่สำคัญมากราวกับว่านี่เป็นเรื่องจริงไฟล์จะไม่ถูกละเว้นเนื่องจากมีการเพิ่มลงในที่เก็บแล้ว Git ไม่สามารถเพิกเฉยได้แม้ว่าคุณจะวางชื่อหรือกฎไว้ในไฟล์. gitignore ดังนั้นโดยพื้นฐานแล้ว Git จะละเว้นไฟล์ที่ไม่ได้ติดตามเท่านั้น

คุณควรดูโครงสร้างของคุณ (ที่เก็บ) และตรวจสอบให้แน่ใจว่าไม่ได้เพิ่มไฟล์ที่คุณกำลังพยายามละเว้นอยู่ในที่เก็บ หากเป็นเช่นนั้นคุณจะต้องลบไฟล์ออกจากที่เก็บและหลังจากทำการเปลี่ยนแปลงล่าสุดแล้วให้เพิ่มชื่อเป็น. gitignore (คุณยังสามารถคัดลอกเนื้อหาของไฟล์และหลังจากลบแล้วให้ทำซ้ำด้วยชื่ออื่น) .

โซลูชันที่ 3: การเพิ่มไฟล์ไปยัง Repository อีกครั้ง

หากคุณได้เพิ่มกฎลงใน. gitignore แล้ว แต่มีการเพิ่มไฟล์ที่คุณต้องการละเว้นไปแล้วเราสามารถเพิ่มไฟล์เข้าไปใหม่ได้ การเพิ่มหมายความว่าเราจะลบทุกอย่างออกจากดัชนีของ Git จากนั้นเพิ่มทุกอย่างกลับเข้าไปในที่เก็บของคุณอีกครั้ง เมื่อเราเพิ่มไฟล์อีกครั้งตั้งแต่เริ่มต้นกฎจะถูกจดจำไว้ว่าคุณได้เพิ่มใน. gitignore และเพิ่มเฉพาะไฟล์ที่ถูกต้องเท่านั้น

หมายเหตุ:คุณควรสำรองรหัสของคุณไว้ที่อื่นก่อนที่จะดำเนินการแก้ไขปัญหานี้ การสำรองข้อมูลไว้ในกรณีนี้เป็นเรื่องดีเสมอ

  1. ดำเนินการคำสั่งต่อไปนี้ การดำเนินการนี้จะยกเลิกขั้นตอนและลบพา ธ ไปยังไฟล์ของคุณจากดัชนีคอมไพล์ในลักษณะวนซ้ำ
git rm -r - แคช
  1. หลังจากดำเนินการแล้วคุณควรดำเนินการคำสั่งต่อไปนี้ การดำเนินการนี้จะเพิ่มไฟล์ทั้งหมดของคุณกลับและเนื่องจาก. gitignore มีกฎจึงจะอัปเดตเฉพาะไฟล์ที่ถูกต้องเท่านั้น
คอมไพล์เพิ่ม
  1. ตอนนี้เราจะส่งไฟล์ทั้งหมดของคุณกลับเข้าสู่ดัชนีโดยใช้รหัสด้านล่าง:
คอมมิต -m ".gitignore ใช้งานได้แล้ว"

ตอนนี้ตรวจสอบไฟล์ของคุณและดูว่าปัญหาได้รับการแก้ไขหรือไม่และคุณสามารถใช้. gitignore ได้อีกครั้งโดยไม่มีปัญหาใด ๆ