.Gitignore এ উপেক্ষিত নিদর্শনগুলি কীভাবে কাজ করবে?


94

আমি উপেক্ষিত নিদর্শন (লাইন দিয়ে শুরু করা লাইন!) দিয়ে একটি .gitignore ফাইল ব্যবহার করার চেষ্টা করছি, তবে এটি আমার প্রত্যাশা মতো কাজ করছে না।

একটি সর্বনিম্ন উদাহরণ হিসাবে, আমার ফলোয়েলিং ডিরেক্টরি কাঠামো রয়েছে:

C:/gittest
 -- .gitignore
 -- aaa/
   -- bbb/
     -- file.txt
   -- ccc/
     -- otherfile.txt

এবং আমার গিটিংগোর ফাইলটিতে আমার কাছে এটি রয়েছে:

aaa/
!aaa/ccc/

আমার বোঝাপড়া ( এই ডক পৃষ্ঠার ভিত্তিতে ) হ'ল aaa / ccc / otherfile.txt ফাইলটি উপেক্ষা করা উচিত নয়, তবে বাস্তবে গিটটি এএএ এর অধীনে সমস্ত কিছু উপেক্ষা করছে।

আমি কি এই বাক্যটি ভুল বুঝছি: "একটি alচ্ছিক উপসর্গ! যা প্যাটার্নটিকে তুচ্ছ করে দেয়; পূর্ববর্তী প্যাটার্ন দ্বারা বাদ দেওয়া কোনও মিলে যাওয়া ফাইলটি আবার অন্তর্ভুক্ত হবে?"

বিটিডাব্লু, এটি উইন্ডোতে এমএসজিগিট ১.7.০.২ রয়েছে।

উত্তর:


163

আমি মনে করি আপনি আসলে যা করতে চান তা হ'ল:

aaa/*
!aaa/ccc

আপনি এটিকে "দেখবেন না aaa" বলছেন যাতে এটি কখনও কখনও পথটিও পরীক্ষা করে না aaa/ccc। আপনি যদি ওয়াইল্ডকার্ড ব্যবহার করেন তবে এটি এখনও লিখিত বিষয়বস্তু পড়তে পারে aaa, তবে প্রতিটি এন্ট্রি ওয়াইল্ডকার্ডের সাথে মেলে এবং এটিকে aaa/cccপিছনে ফেলে দেওয়া ছাড়া এড়ানো হবে।


4
@ আইকনোক্লাস্ট: তাহলে আপনি সম্ভবত কিছু আলাদা করছেন। আপনি সহায়তা চাইলে অন্য প্রশ্ন পোস্ট করুন (সম্পূর্ণ তথ্য সহ)।
ক্যাসাবেল

এটি আমার পক্ষেও কার্যকর হয়নি: / অ্যাপস / *! / অ্যাপ্লিকেশন / মাই অ্যাপস / ফ্লুয়েড টেস্ট / বিন /
জারোদ স্মিথ

4
@ জারোদ এটি কাজ করে; আপনি ঠিক কিছু ভিন্ন করছেন। উত্তরে দেওয়া ঠিক কারণগুলির জন্য আপনাকে এ পদ্ধতিটি পুনরাবৃত্তভাবে ব্যবহার করতে হবে। ! অ্যাপস / মাই অ্যাপস, অ্যাপস / মাই অ্যাপস / * এবং আরও অনেক কিছু।
ক্যাসাবেল

আহা দুঃখিত আমি এখন বুঝতে পারি। কিন্তু এসও আমাকে আর উপুড় হতে দেবে না।
জারোদ স্মিথ

আএ / ** / *! এএএ / সিসি / ইই এর জন্য কেন কাজ করে না তা ভাবুন (নির্দিষ্ট পথে ফাইলগুলি বাদ দিয়ে সবকিছু উপেক্ষা করুন)
Phương Nguyễn

23

আপনি যদি এর মধ্যে সমস্ত কিছু বাদ দিতে চান aaaতবে এর অন্তর্ভুক্ত aaa/cccএবং এর নীচে থাকা সমস্ত কিছু আপনার ব্যবহার করা উচিত:

aaa/*
!aaa/ccc
!aaa/ccc/*

প্রথম লাইনটি গিটকে নীচে সব কিছু উপেক্ষা করার জন্য বলে aaa, দ্বিতীয়টি এটি ফোল্ডারটিকে উপেক্ষা না করতে বলে aaa/cccযা আসলে তৃতীয় লাইনের "সক্ষম করে" যা তারপরে নীচে সমস্ত কিছু উপেক্ষা না করার জন্য বলে aaa/ccc


4
তৃতীয় লাইন আমার জন্য কোনও পার্থক্য তৈরি করে নি।
জেমস হপকিন

4
যে aaa/cccকোনও স্তরের যে কোনও উপ-ডিরেক্টরিতে সমস্ত কিছু অন্তর্ভুক্ত করতে সক্ষম হওয়ার জন্য, আমার জন্য যা কাজ করা হয়েছিল তার !aaa/ccc/**পরিবর্তে ছিল!aaa/ccc/*
বোকলডোয়া

3

যদি কেউ এখনও হাতের আগে git statusচলমান অবস্থায় নতুনভাবে অবহেলিত আইটেমগুলি না git update-indexদেখেন তবে পরিবর্তনগুলি (গিটব্যাশের কমপক্ষে সংস্করণ 1.9.x সংস্করণে) দেখতে গিটকে সহায়তা করতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.