.gitignore NuGet ไม่รวมแพ็คเกจ / รวมแพ็คเกจ / repositories.config


89

ฉันกำลังพยายามสร้าง. gitignore สำหรับโปรเจ็กต์ Visual Studio ที่ใช้ NuGet ปัจจุบันประกอบด้วย:

\packages/*
!packages/repositories.config

สิ่งนี้ไม่เพิกเฉยต่อสิ่งใดในโฟลเดอร์ ทุกอย่างได้รับการจัดฉากในการเพิ่ม ฉันได้ลองแล้ว:

packages/
!packages/repositories.config

สิ่งนี้จะละเว้นทุกอย่างในโฟลเดอร์ package และไม่รวม package / repositories.config

ผมทำอะไรผิดหรือเปล่า?

คำตอบ:


115
/packages/
!packages/repositories.config

คุณยังสามารถเพิ่ม.gitignoreในโฟลเดอร์แพ็คเกจ:

*
!repositories.config
!.gitignore

12
มันจะน่าเสียดายถ้า.gitignoreตัวเองละเลย +1
โทมัส

2
บล็อกแรกไม่ทำงานสำหรับฉัน (git เวอร์ชัน 1.8.4.msysgit.0) ฉันคิดว่าบรรทัดแรกควรจะpackagesไม่มีดาว
Grant Birchmeier

1
ฉันพบว่า Visual Studio ยังคงแสดงโฟลเดอร์แพ็กเกจ ฉันต้องลบออกms-persist.xmlจาก.gitโฟลเดอร์เพื่อให้.gitignoreไฟล์ได้รับการเคารพ ดูericnelson.wordpress.com/2014/06/21/…สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้
rudivonstaden

ฉันไม่ทราบว่าคุณได้ลองใช้เวอร์ชันใด แต่/packages/ไม่ได้ผลสำหรับฉัน แต่ฉันพบว่าคำตอบนี้เป็นประโยชน์มาก packages/*เคล็ดลับทำในระยะสั้น Git เวอร์ชัน 2.6.1
Stelios Adamantidis

36

ฉันประสบปัญหาเดียวกัน

วิธีแก้ปัญหาข้างต้นไม่ได้ผลสำหรับฉัน และฉันคิดว่ามันเป็นวิธีแก้ปัญหาที่ไม่ดีในการดูแลไฟล์. signore หลาย ๆ ไฟล์

นี่คือวิธีที่ฉันแก้ไข

**/packages/*
!**/packages/repositories.config

การรวมเครื่องหมายดอกจันสองดอกจะจับคู่สตริงโฟลเดอร์ใด ๆ ฉันคิดว่าการทิ้งดอกจันจะได้ผลเช่นเดียวกัน แต่ดูเหมือนว่าฉัน (เรา) คิดผิดเพราะดูเหมือนจะไม่ได้ผล

เทมเพลต. gitignoreอย่างเป็นทางการสำหรับ Visual Studioแนะนำวิธีแก้ไขปัญหาต่อไปนี้:

# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config

แก้ไข: คุณสามารถใช้https://www.gitignore.ioเพื่อสร้างไฟล์. signore สำหรับโครงการที่คุณชื่นชอบ :-)


2
นี่เป็นตัวแปรเดียวที่เหมาะกับฉันเนื่องจากฉันมีหลายโปรเจ็กต์ในที่เก็บพร้อมโฟลเดอร์แพ็กเกจในแต่ละอัน ขอบคุณ.
Michael Logutov

1
สิ่งที่ใช้งานได้ดีคือเทมเพลตอย่างเป็นทางการที่แนะนำสำหรับ Visual Studio + ไม่ใส่ข้อคิดเห็นในบรรทัดสุดท้าย
vezenkov

1
นี่เป็นความเสี่ยงเล็กน้อย โดยไม่สนใจโฟลเดอร์ใด ๆ ที่ชื่อ "แพ็กเกจ" ไม่ใช่เฉพาะโฟลเดอร์ที่ระดับโซลูชัน ฉันพบว่าสายเกินไปที่คลาสโมเดลของฉันบางคลาสไม่เคยเป็นส่วนหนึ่งของที่เก็บ
รวย

2
ขณะนี้ได้รับการอัปเดตแล้ว: # NuGet Packages .nupkg # สามารถละเว้นโฟลเดอร์ package ได้เนื่องจาก Package Restore ** / package / # ยกเว้น build / ซึ่งใช้เป็นเป้าหมาย MSBuild ! ** / package / build / # Uncomment หากจำเป็น แต่โดยทั่วไปแล้วจะถูกสร้างใหม่เมื่อจำเป็น #! ** / package / repositories.config ไฟล์ project.json ของ # NuGet v3 จะสร้างไฟล์ที่ไม่สามารถเพิกเฉยได้มากขึ้น * .nuget.props * .nuget เป้าหมาย
Daniel Ryan

ยกเว้นว่า!**/packages/build/จะไม่ได้ผลสำหรับฉันด้วยโซลูชันที่กำหนด ... สร้างโฟลเดอร์ไม่ได้รับการ
ยอมรับ


8

ฉันพบว่ารูปแบบง่ายๆนี้ใช้ได้ผล

/packages/*/

ควรละเว้นไดเรกทอรีทั้งหมดในไดเร็กทอรีแพ็กเกจรูท แต่รวมไฟล์ทั้งหมดไว้ที่นั่น ไม่แน่ใจว่าไฟล์อื่นนอกเหนือจาก repositories.config อาจปรากฏอยู่ในไฟล์ใดหรือควรรวมไว้ในที่เก็บหรือไม่

ดูเพิ่มเติม. gitignore Syntax: bin vs bin / vs. bin / * vs. bin / **


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.