Tôi đang cố gắng triển khai giải pháp thay thế cho NuGet Package Restore Issues..gitignore gói thư mục NuGet ở mọi cấp độ nhưng bao gồm tệp .targets ở mọi cấp độ
Điều này liên quan đến việc bỏ qua nội dung của tất cả các thư mục gói, ở bất kỳ cấp nào trong cấu trúc phân cấp. Tuy nhiên, các tệp .targets (thường nằm trong thư mục con của các thư mục gói) không nên bỏ qua.
Ví dụ:
.gitignore YourProject/ YourProject.csproj packages/ repositories.config Microsoft.Bcl.Build.1.0.7/ lib/ foo.dll tools/ Microsoft.Bcl.Build.targets
nên chỉ bao gồm các file:
- .gitignore
- YourProject.csproj
- Microsoft.Bcl.Build.targets
của Windows , git phiên bản 1.8.1.ms ysgit.1.
Tôi đã đọc một số câu trả lời trên StackOverflow, đã kiểm tra trang người đàn ông và thử nhiều biến thể không thành công.
này không hoạt động:
packages/*
!*.targets
Cũng không này:
packages/*
!packages/**/*.targets
Cũng không này:
**/packages/*
!**/packages/**/*.targets
Cập nhật:
- Điều này cần phải làm việc bất kể thư mục gói nằm ở đâu trong cấu trúc phân cấp.
- Cần bỏ qua các tệp trong gói, thư mục con, thư mục con phụ, v.v.
- Các dòng .gitignore khác, như
bin/
, phải tiếp tục hoạt động.
Tôi nghĩ rằng bạn có thể sử dụng '* mục tiêu!. \ n/packages /*.* '(trong đó \ n là một dòng mới), tuy nhiên điều này sẽ không bỏ qua các tệp mở rộng. Vấn đề là '*' trùng khớp trên các thư mục, quá. – vcsjones
@vcsjones Chỉ cần thử nó; điều đó cũng không hiệu quả. Nó thêm tất cả các dll theo gói. – TrueWill