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



ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา

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



.gitignore



แพลตฟอร์มเหล่านี้มีคุณสมบัติทางเทคนิคและปัญหา ปัญหาเฉพาะอย่างหนึ่งที่ผู้เขียนโปรแกรมพบคือ. 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 ’. เลือกไดเร็กทอรีที่ถูกต้องและบันทึก

การเลือก ANSI เป็นประเภทการเข้ารหัส

  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. ตอนนี้เราจะส่งไฟล์ทั้งหมดของคุณกลับไปที่ดัชนีโดยใช้รหัสด้านล่าง:
git กระทำ -m '.gitignore กำลังทำงาน'

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

อ่าน 4 นาที