আমার কাছে একটি গিটিগনোর ফাইল রয়েছে যা গিটকে *.dll
ফাইলগুলি উপেক্ষা করে এবং এটাই আসলে আমার ইচ্ছা আচরণ। তবে, যদি আমি একটি ব্যতিক্রম চাই (অর্থাত্ প্রতিশ্রুতি রাখতে সক্ষম হও foo.dll
) তবে আমি কীভাবে এটি অর্জন করতে পারি?
আমার কাছে একটি গিটিগনোর ফাইল রয়েছে যা গিটকে *.dll
ফাইলগুলি উপেক্ষা করে এবং এটাই আসলে আমার ইচ্ছা আচরণ। তবে, যদি আমি একটি ব্যতিক্রম চাই (অর্থাত্ প্রতিশ্রুতি রাখতে সক্ষম হও foo.dll
) তবে আমি কীভাবে এটি অর্জন করতে পারি?
উত্তর:
ব্যবহার করুন:
*.dll #Exclude all dlls
!foo.dll #Except for foo.dll
গিটিগনোর থেকে :
একটি alচ্ছিক উপসর্গ! যা প্যাটার্ন অবহেলা করে; পূর্ববর্তী প্যাটার্ন দ্বারা বাদ দেওয়া কোনও মিলে যাওয়া ফাইল আবার অন্তর্ভুক্ত হবে। যদি কোনও অবহেলিত প্যাটার্ন মেলে তবে এটি নিম্ন অগ্রাধিকারের নিদর্শন উত্সগুলিকে ওভাররাইড করবে।
*.dll
এবং আমার প্রকল্পের গিটিগনোর রয়েছে !Libs/*.dll
তবে এটি কাজ করছে বলে মনে হয় না।
!Libs/**/*.dll
।
!**/Libs/*.dll
ফোল্ডারের কাঠামোর উপর নির্ভর করে @ রসবার্গিনহারেস বা
!foo.dll
আদেশটি অকার্যকর করেছে। আমি যদি পৃথক সারিতে মন্তব্য যুক্ত করি তবে এটি কার্যকর হয়।
আপনি লিখলে গিট ফোল্ডারগুলি উপেক্ষা করে:
/js
কিন্তু এটা ব্যতিক্রম যোগ করতে পারবেন না যদি আপনি না:
!/js/jquery
বা !/js/jquery/
বা!/js/jquery/*
আপনার অবশ্যই লিখতে হবে:
/js/*
এবং তবেই আপনি এটির মতো সাব-ফোল্ডারগুলি বাদ দিতে পারেন
!/js/jquery
!/js/jquery/xyzlib
উপেক্ষা করা হবে না ...
/js/*
, !/js/jquery
, /js/jquery/*
, !/js/jquery/xyzlib
? এটি করার মতো বরং মজার উপায় মনে হচ্ছে ...
আপনি সহজভাবে পারেন git add -f path/to/foo.dll
।
.gitignore
সাধারণ ট্র্যাকিং এবং স্টাফের মতো ফাইলগুলির জন্য কেবল ফাইলগুলি উপেক্ষা করে git add .
-f
.gitignore
ডিরেক্টরিতে সমস্ত কিছু বাদ দিতে, তবে কয়েকটি উপ-ডিরেক্টরিতে নিম্নলিখিত কাজগুলি করুন:
wp-content/*
!wp-content/plugins/
!wp-content/themes/
!
একটি বর্জনীয় নিয়মের আগে কেবল যুক্ত করুন ।
গিটিগনোর ম্যান পৃষ্ঠা অনুসারে :
প্যাটার্নগুলির নিম্নলিখিত ফর্ম্যাট রয়েছে:
...
- একটি alচ্ছিক উপসর্গ! যা প্যাটার্ন অবহেলা করে; পূর্ববর্তী প্যাটার্ন দ্বারা বাদ দেওয়া কোনও মিলে যাওয়া ফাইল আবার অন্তর্ভুক্ত হবে। যদি কোনও অবহেলিত প্যাটার্ন মেলে তবে এটি নিম্ন অগ্রাধিকারের নিদর্শন উত্সগুলিকে ওভাররাইড করবে।
!foo.dll
ইন। গিটিগনোর, বা (প্রতিবার!) git add -f foo.dll
যদি আপনি ভিজ্যুয়াল স্টুডিওতে কাজ করছেন এবং আপনার .dll কোনও bin
ফোল্ডারে উপস্থিত হয়, আপনি .dll ফাইলের জন্য ব্যতিক্রম যুক্ত করার আগে আপনাকে নির্দিষ্ট বিন ফোল্ডারের জন্য একটি ব্যতিক্রম যুক্ত করতে হবে। যেমন
!SourceCode/Solution/Project/bin
!SourceCode/Solution/Project/bin/My.dll
এটি কারণ ডিফল্ট ভিজ্যুয়াল স্টুডিও .gitignore
ফাইলের জন্য একটি উপেক্ষা প্যাটার্ন অন্তর্ভুক্ত[Bbin]/
এই প্যাটার্নটি সমস্ত বিন ফোল্ডারগুলি (এবং ফলস্বরূপ তাদের বিষয়বস্তুগুলি) zapping করছে, যা সামগ্রীগুলি রিলান্ড্যান্ট (যেহেতু ফোল্ডারটি নিজেই ইতিমধ্যে উপেক্ষা করা হয়েছে) অন্তর্ভুক্ত করার কোনও প্রচেষ্টা করে।
আমার ফাইলটি চালানোর কারণে বাদ দেওয়া হচ্ছে না তা আমি খুঁজে পেতে সক্ষম হয়েছি
git check-ignore -v -- SourceCode/Solution/Project/bin/My.dll
গিট বাশ উইন্ডো থেকে এই [Bbin]/
প্যাটার্ন ফিরে ।
সমাধান গিট উপেক্ষা করার নিয়ম এবং ব্যতিক্রম নিয়মের মধ্যে সম্পর্কের উপর নির্ভর করে:
ফাইল / ফাইল বিভিন্ন স্তরে বা ফাইল / সাবফোল্ডার: আপনি এটি করতে পারেন:
*.suo
*.user
*.userosscache
*.sln.docstates
# ...
# Exceptions for entire subfolders
!SetupFiles/elasticsearch-5.0.0/**/*
!SetupFiles/filebeat-5.0.0-windows-x86_64/**/*
# Exceptions for files in different levels
!SetupFiles/kibana-5.0.0-windows-x86/**/*.suo
!SetupFiles/logstash-5.0.0/**/*.suo
যেহেতু গিট ২.7.০ গিট ব্যতিক্রমগুলি অ্যাকাউন্টে নেবে। সরকারী প্রকাশের নোটগুলি থেকে:
- পরে "! / Abc / def" কে একইরূপে .gitignore ফাইলটিতে প্রদর্শিত "/ abc / def" কে ওভাররাইড করার অনুমতি দিন "/ abc ডিরেক্টরিতে সমস্ত কিছু উপেক্ষা করা হয় ..." ব্যতীত এটিকে সহজেই প্রকাশ করা যায় না "।
https://raw.githubusercontent.com/git/git/master/Documentation/RelNotes/2.7.0.txt