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

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

Facebook Twitter Google Plus Pinterest