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

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

.gitignore

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

. gitignore คืออะไร

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

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

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

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

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

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

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

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

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

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

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

  1. หลังจากเขียนรหัสหรือเปลี่ยนแปลงในเอกสารข้อความใหม่ใน Notepad ให้คลิกที่ ไฟล์ แล้วเลือก บันทึกเป็น

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

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

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

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

โซลูชันที่ 2: การตรวจสอบไฟล์ที่คุณพยายามละเว้น

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

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

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

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

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

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

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

บทความที่น่าสนใจ