ไฟล์ .gitignore มีรายการไฟล์ที่ Git ไม่ควรละเว้นในโครงการท้องถิ่น โดยทั่วไปไฟล์ .gitignore จะปรากฏในไดเรกทอรีหลักของโปรเจ็กต์ คุณสามารถละเว้นไฟล์เดียว หลายไฟล์ หรือโฟลเดอร์ได้
คุณอาจมีไฟล์ที่คุณไม่ต้องการรวมไว้ในเวอร์ชันหลักของที่เก็บ Git ของคุณ ไฟล์เหล่านี้อาจมีการกำหนดค่าหรือตัวแปรในเครื่องที่เป็นส่วนตัวและผู้ร่วมมือรายอื่นไม่ควรเห็น ป>
นั่นคือที่มาของไฟล์ .gitignore ไฟล์นี้อนุญาตให้คุณสั่งให้ Git ละเว้นไฟล์ได้ ป>
ในคู่มือนี้ เราจะพูดถึง .gitignore คืออะไร ทำงานอย่างไร และคุณจะเขียนไฟล์ .gitignore ของคุณเองได้อย่างไร เพื่อเป็นการไม่ให้เสียเวลา มาเริ่มกันเลย!
ไฟล์ .gitignore คืออะไร
ไฟล์ .gitignore แสดงรายการไฟล์ที่ Git จะเพิกเฉย ไฟล์ .gitignore มักจะปรากฏในไดเร็กทอรีรากของโปรเจ็กต์ ไฟล์ที่ติดตามโดย Git จะไม่ถูกละเว้น เว้นแต่คุณจะลบไฟล์เหล่านั้นออกจากโปรเจ็กต์
Git เมื่อคุณเพิ่มพวกเขาในการคอมมิต ซึ่งหมายความว่าทุกไฟล์ รวมถึงไฟล์การกำหนดค่าและโค้ดที่คอมไพล์ จะถูกเพิ่มในการคอมมิตหากคุณใช้โอเปอเรเตอร์ * โอเปอเรเตอร์นี้จะแบ่งไฟล์ทั้งหมดเป็นคอมมิต ป>
บ่อยครั้งที่นักพัฒนาต้องการละเว้นโฟลเดอร์เอาท์พุต ไฟล์ระบบที่ซ่อนอยู่ และโค้ดที่คอมไพล์แล้ว ตัวอย่างเช่น หากคุณมีไฟล์ .env อยู่ในที่เก็บ คุณอาจต้องการซ่อนมัน เนื่องจากไฟล์ .env มักจะมีคีย์ API ซึ่งคุณอาจไม่ต้องการส่งไปยังพื้นที่เก็บข้อมูล ป>
ไม่มีคำสั่งละเลยที่คุณสามารถใช้เพื่อละเว้นไฟล์ได้ คุณต้องสร้างรายการไฟล์ทั้งหมดที่คุณต้องการละเว้นในไฟล์ .gitignore
วิธีการเขียนไฟล์ .gitignore
การสร้าง .gitignore ไฟล์เป็นเรื่องง่าย เปิดเชลล์คำสั่งและสร้างไฟล์ข้อความชื่อ .gitignore ในไดเร็กทอรีรากของโปรเจ็กต์ คุณสามารถทำได้โดยใช้คำสั่งสัมผัส:
เราได้สร้างไฟล์ .gitignore แล้ว เราไม่จำเป็นต้องตั้งค่าไฟล์ของเราด้วยการตั้งค่าใดๆ ขั้นตอนต่อไปคือการเพิ่มรายการไฟล์ที่เราต้องการละเว้น ไฟล์เหล่านี้กลายเป็นไฟล์ที่ไม่ได้ติดตาม ซึ่งเป็นอีกคำหนึ่งที่อธิบายไฟล์ที่ถูกละเว้น Git ในพื้นที่เก็บข้อมูลในเครื่อง ป>
พิจารณา .gitignore ต่อไปนี้ ไฟล์:
ไฟล์นี้ละเว้นสองรีซอร์ส:ไฟล์ทั้งหมดในไดเร็กทอรี node_modules และไฟล์ .env เราได้ละเว้นทรัพยากรเฉพาะสองรายการในที่เก็บในเครื่องของเรา:โฟลเดอร์และไฟล์ ป>
นี่เป็นการตั้งค่าทั่วไปสำหรับโปรเจ็กต์ JavaScript node_modules มีสำเนาภายในเครื่องของการขึ้นต่อกันทั้งหมดที่คุณใช้สำหรับโปรเจ็กต์ เป็นไปไม่ได้ที่จะส่งสิ่งนี้ไปยังพื้นที่เก็บข้อมูลเมื่อคุณสามารถติดตั้งการขึ้นต่อกันเหล่านี้ได้ด้วยตัวเอง ไฟล์ .env มีคีย์ API การแบ่งปันคีย์ API ในพื้นที่เก็บข้อมูลที่ผู้คนจำนวนมากสามารถเข้าถึงได้ถือเป็นแนวปฏิบัติที่ไม่ดี ป>
สมมติว่าเราต้องการละเว้นหลายไฟล์หรือไดเร็กทอรี เราสามารถทำได้โดยใช้ * wildcard ป>
ลองละเว้นไฟล์ .pyc ทั้งหมดในที่เก็บ:
ไฟล์ทั้งหมดที่มีรูปแบบชื่อตรงกัน *.pyc จะถูกละเว้น เครื่องหมายดอกจันคือตัวดำเนินการไวด์การ์ด
GitHub ได้สร้างคอลเลกชันไฟล์ gitignore ที่ยอดเยี่ยมซึ่งคุณสามารถใช้บนเว็บไซต์ของพวกเขาได้ ดูคอลเลกชันไฟล์ gitignore ของ GitHub
การใช้ไฟล์ .gitignore หลายไฟล์
คุณสามารถใช้ไฟล์ .gitignore หลายไฟล์ในพื้นที่เก็บข้อมูลเดียวกันได้ ใช้งานได้เนื่องจาก .gitignore สัมพันธ์กับไดเร็กทอรีที่วางไว้ ป>
ในตัวอย่างสุดท้ายของเรา เราวาง .gitignore ไว้ในไดเร็กทอรีรากของโปรเจ็กต์ของเรา สมมติว่าเราต้องการละเว้นไฟล์ทั้งหมดที่ลงท้ายด้วย .pyc ในโฟลเดอร์ diff/ เราสามารถทำได้โดยสร้างไฟล์ชื่อ .gitignore ในโฟลเดอร์ diff โดยใช้บรรทัดคำสั่ง:
เราจะเพิ่มกฎต่อไปนี้ลงในไฟล์ .gitignore:
เมื่อเราคอมมิตโค้ดไปยังที่เก็บของเรา Git จะเพิกเฉยต่อไฟล์ใดๆ ในโฟลเดอร์ diff/ ซึ่งลงท้ายด้วย .pyc ป>
การตั้งค่านี้จะดีที่สุดเมื่อคุณต้องการเพียงกฎเพื่อนำไปใช้กับบางโฟลเดอร์ภายในโปรเจ็กต์ อย่างไรก็ตาม การมีไฟล์ .gitignore หลายไฟล์ในโปรเจ็กต์เดียวอาจทำให้เกิดความสับสนได้ อีกทางเลือกหนึ่งคือต้องระบุให้เจาะจงมากขึ้นเมื่อคุณระบุว่าไฟล์ใดที่โปรเจ็กต์ของคุณควรละเว้น หากคุณเจาะจง คุณสามารถเก็บกฎทั้งหมดไว้ในไฟล์ .gitignore ไฟล์เดียวได้ พิจารณาไฟล์นี้:
.gitignore นี้อยู่ในไดเร็กทอรีรากของโปรเจ็กต์ Git โดยสั่งให้ Git ละเว้นไฟล์ทั้งหมดที่ลงท้ายด้วย .txt ในโปรเจ็กต์ นอกจากนี้ยังสั่งให้ Git ละเว้นไฟล์ทั้งหมดที่ลงท้ายด้วย .pyc ซึ่งอยู่ในโฟลเดอร์ diff/
วิธีสร้างกฎการละเว้น Git ทั่วโลก
อาจใช้เวลานานในการกำหนดไฟล์ .gitignore สำหรับทุกโปรเจ็กต์ที่คุณสร้าง ยิ่งไปกว่านั้น คุณจะพบว่าโปรเจ็กต์ส่วนใหญ่ของคุณใช้ชุดกฎ .gitignore ชุดเดียวกัน ป>
คุณสามารถตั้งค่ากฎการละเว้นคอมไพล์ส่วนกลางได้ ซึ่งจะตั้งค่ากฎ gitignore ให้กับทุกพื้นที่เก็บข้อมูลในระบบของคุณโดยอัตโนมัติ ไฟล์นี้มักจะอยู่ในโฮมไดเร็กตอรี่ของระบบปฏิบัติการของคุณ เช่น /home/your_username หรือ /Users/your_username . ป>
มาสร้างไฟล์ .gitignore ที่เป็นสากล:
คำสั่งนี้จะสร้างไฟล์ .gitignore ว่างๆ ในโฮมไดเร็กตอรี่ของเรา เปิดไฟล์นี้และเพิ่มกฎใดๆ ก็ตามที่คุณต้องการตั้งค่าสำหรับที่เก็บ Git ทั้งหมดในระบบของคุณ ป>

"อาชีพกรรมเข้ามาในชีวิตของฉันเมื่อฉันต้องการมันมากที่สุดและช่วยให้ฉันเข้ากับหลักสูตรฝึกหัดได้อย่างรวดเร็ว สองเดือนหลังจากสำเร็จการศึกษา ฉันพบงานในฝันที่สอดคล้องกับค่านิยมและเป้าหมายในชีวิตของฉัน!"
Venus วิศวกรซอฟต์แวร์ที่ Rockbot
ค้นหาการแข่งขัน Bootcamp ของคุณ
เมื่อคุณกำหนดค่าไฟล์ gitignore แล้ว คุณสามารถบังคับใช้กฎได้โดยใช้ core.excludesFile คุณสมบัติ:
git config --global core.excludesFile ~/.gitignore
คำสั่งนี้จะตั้งกฎใน ~/.gitignore ไฟล์เพื่อนำไปใช้กับที่เก็บ Git ทั้งหมดบนคอมพิวเตอร์ ป>
โปรดใช้ความระมัดระวังเมื่อคุณกำหนดกฎการละเว้นคอมไพล์ส่วนกลาง เนื่องจากกฎใน .gitignore ส่วนกลางถูกกำหนดไว้ตามค่าเริ่มต้นในทุกโปรเจ็กต์ ป>
ไฟล์ .gitignore ส่วนกลางเหมาะที่สุดสำหรับไฟล์ทั่วไป เช่น .env ซึ่งคุณแทบจะไม่อยากผูกมัดกับที่เก็บ git เลย
วิธีละเว้นไฟล์ที่คอมมิต
คุณไม่สามารถคาดเดาได้เสมอว่าไฟล์ใดที่คุณต้องการละเว้นในโครงการ อาจเป็นกรณีที่คุณได้คอมมิตไฟล์ไปยังที่เก็บก่อนหน้านี้ แต่ตอนนี้คุณต้องการละเว้นมัน ป>
ไม่ต้องสนใจไฟล์ config.json ไฟล์นี้ถูกส่งไปยังพื้นที่เก็บข้อมูลของเราแล้ว เราควรเริ่มต้นด้วยการเพิ่มกฎการเพิกเฉยให้กับ .gitignore ของเรา ไฟล์:
echo config.json >> .gitignore
คำสั่งนี้ต่อท้าย config.json ต่อท้ายไฟล์ .gitignore ของเรา ตอนนี้เราต้องลบไฟล์ออกจากที่เก็บของเรา เราสามารถทำได้โดยใช้คำสั่ง git rm –cached คำสั่งนี้จะลบไฟล์ออกจากที่เก็บของคุณเท่านั้น มันจะยังคงเป็นไฟล์ในเครื่องคอมพิวเตอร์ของคุณ ป>
git rm --cached config.json
ครั้งต่อไปที่เราสร้างการคอมมิต ไฟล์ config.json จะถูกละเว้น
วิธีการคอมมิตไฟล์ที่ถูกละเว้น
คุณสามารถคอมมิตไฟล์ที่ถูกละเว้นในไฟล์ .gitignore ของคุณได้ ป>
สิ่งนี้อาจมีประโยชน์หากคุณกำลังสร้างไฟล์กำหนดค่าเริ่มต้นที่คุณต้องการส่งไปยังพื้นที่เก็บข้อมูลที่อาจถูกละเลย คุณสามารถคอมมิตไฟล์ที่ถูกละเว้นได้โดยใช้แฟล็ก -f เมื่อคุณเพิ่มไฟล์ลงในพื้นที่จัดเตรียม:
git add -f config.json git commit -m "feat: Create default config file"
โค้ดนี้จะเพิ่มไฟล์ config.json ลงในพื้นที่จัดเตรียม จากนั้นจะสร้างการคอมมิตตามเนื้อหาของพื้นที่การแสดงละคร คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ git add ได้ในบทช่วยสอน git add ของเรา คุณสามารถอ่านเกี่ยวกับคำสั่ง git commit ได้ในบทช่วยสอนเกี่ยวกับการคอมมิตของเรา
บทสรุป
ไฟล์ .gitignore ช่วยให้คุณละเว้นไฟล์ในที่เก็บ Git ได้ ป>
คุณอาจไม่ต้องการรวมไฟล์ทั้งหมดในสำเนาของโปรเจ็กต์ในเครื่องของคุณในการคอมมิต ตัวอย่างเช่น คุณอาจไม่ต้องการคอมมิตโค้ดที่คอมไพล์ บันทึกของระบบ หรือไฟล์กำหนดค่า หากต้องการละเว้นไฟล์ คุณสามารถระบุไฟล์ที่คุณต้องการละเว้นใน .gitignore ป>
โครงการสามารถมี .gitignore ได้หลายรายการ ไฟล์. คุณสามารถแทนที่กฎ .gitignore ได้โดยใช้แฟล็ก -f เมื่อคุณใช้คำสั่ง git add ป>
ตอนนี้คุณพร้อมที่จะใช้ไฟล์ .gitignore เหมือนผู้เชี่ยวชาญแล้ว! ป>