আমি একটি বৃহত ডিরেক্টরি স্ট্রাকচারে একটি গিটিগনোর সমস্যা সমাধানের চেষ্টা করছি, তবে আমার প্রশ্নটি সহজ করার জন্য আমি এটিকে নীচে কমিয়ে দিয়েছি।
আমার কাছে একটি ব্র্যান্ডের নতুন গিট রিপোজিটরিতে দুটি ফাইলের (ফু, বার) নীচের ডিরেক্টরি কাঠামো রয়েছে (এখন পর্যন্ত কোন কমিট করেনি):
a/b/c/foo
a/b/c/bar
স্পষ্টতই, 'গিট স্ট্যাটাস -u' দেখায়:
# Untracked files:
...
# a/b/c/bar
# a/b/c/foo
আমি যা করতে চাই তা হ'ল একটি .gitignore ফাইল তৈরি করা যা একটি / বি / সি এর ভিতরে থাকা সমস্ত কিছুকে উপেক্ষা করে তবে 'foo' ফাইলটিকে উপেক্ষা করে না।
যদি আমি এইভাবে একটি .gitignore তৈরি করি:
c/
তারপরে একটি 'গিট স্ট্যাটাস -u' foo এবং বার উভয়ই উপেক্ষা হিসাবে দেখায়:
# Untracked files:
...
# .gitignore
যা আমি প্রত্যাশা হিসাবে।
এখন যদি আমি foo এর জন্য একটি বর্জনীয় নিয়ম যুক্ত করি তবে:
c/
!foo
গিটিগনোর ম্যানপেজ অনুসারে, আমি এটি কাজ করবে আশা করি। তবে তা হয় না - এটি এখনও ফু উপেক্ষা করে:
# Untracked files:
...
# .gitignore
এটিও কাজ করে না:
c/
!a/b/c/foo
এটিও করে না:
c/*
!foo
দেয়:
# Untracked files:
...
# .gitignore
# a/b/c/bar
# a/b/c/foo
সেক্ষেত্রে, foo আর উপেক্ষা করা হবে না, বার এছাড়াও উপেক্ষা করা হয় না।
.Gitignore এ নিয়মগুলির ক্রমটি তেমন গুরুত্বপূর্ণ বলে মনে হচ্ছে না।
এটি আমি যা প্রত্যাশা করে তা করে না:
a/b/c/
!a/b/c/foo
যে একটি foo এবং বার উভয় উপেক্ষা।
একটি পরিস্থিতি যা কাজ করে তা হ'ল যদি আমি ফাইলটি একটি / বি / সি / .gitignore তৈরি করে সেখানে রাখি:
*
!foo
তবে এটির সাথে সমস্যাটি হ'ল অবশেষে একটি / বি / সি এর অধীনে অন্যান্য উপ-ডিরেক্টরি থাকবে এবং আমি এককটিতে একটি পৃথক .gitignore লাগাতে চাই না - আমি 'প্রকল্প-ভিত্তিক' তৈরি করার আশা করছিলাম। Gitignore ফাইলগুলি যা প্রতিটি প্রকল্পের শীর্ষ ডিরেক্টরিতে বসতে পারে এবং সমস্ত 'স্ট্যান্ডার্ড' সাব-ডাইরেক্টরি কাঠামোকে আবরণ করতে পারে।
এটিও সমতুল্য বলে মনে হচ্ছে:
a/b/c/*
!a/b/c/foo
এটি "কাজ" করার সবচেয়ে কাছের জিনিস হতে পারে যা আমি অর্জন করতে পারি তবে সম্পূর্ণ আপেক্ষিক পাথ এবং স্পষ্ট ব্যতিক্রমগুলি উল্লেখ করা দরকার, যা আমার কাছে বিভিন্ন স্তরে 'foo' নামের প্রচুর ফাইল থাকলে ব্যথা হতে চলেছে উপ-ডিরেক্টরি গাছ
যাইহোক, হয় না আমি বহিরাগতকরণের নিয়মগুলি কীভাবে কাজ করে তা পুরোপুরি বুঝতে পারি না বা ডিরেক্টরিগুলি (ওয়াইল্ডকার্ডের চেয়ে) উপেক্ষা করা হলে সেগুলি মোটেই কাজ করে না - একটি নিয়মে /
কেউ দয়া করে এ সম্পর্কে কিছু আলোকপাত করতে পারেন?
এই আনাড়ি শেল-ভিত্তিক সিনট্যাক্সের পরিবর্তে গিটিগনোর নিয়মিত প্রকাশের মতো কিছু সংবেদনশীল কিছু ব্যবহার করার উপায় আছে কি?
আমি এটি সাইগউইন / বাশ 3-তে গিট-১..1..6.১ এবং উবুন্টু / বাশ ৩-এ গিট-১.7.১ সহ ব্যবহার করছি এবং পর্যবেক্ষণ করছি।