.gitignore ডিরেক্টরিগুলিতে ফাইলগুলি বাদ দেয় তবে নির্দিষ্ট ডিরেক্টরি নয়


98
application/cache/*
application/cache/folder/*
application/cache/folder/onemorefolder/*

এটি কাজ করছে বলে মনে হচ্ছে না। আমি যখন প্রকল্পটি ক্লোন করেছি তখন কোনও "application/cache"ফোল্ডার বা নেই"application/cache/folder" ফোল্ডার ইত্যাদি নেই ...

আমি চাই যদি ক্যাশে ফোল্ডারে ফাইলগুলি ক্যাশে না করা হয় তবে ফোল্ডারগুলি থাকে, যাতে ফোল্ডারগুলির অনুমতি স্থানান্তর হয় এবং বিদ্যমান থাকে।

উত্তর:


220

গিট ফোল্ডারগুলি কেবল ফাইলগুলিকেই ট্র্যাক করে না তাই আপনি যদি কোনও ফোল্ডারের সমস্ত কিছু উপেক্ষা করেন তবে গিটকে ট্র্যাক করার মতো কিছুই থাকবে না। আপনি একটি যোগ করতে পারেন .gitignore(প্রতিটি ডিরেক্টরির ফাইল application/cache, application/cache/folder, application/cache/folder/onemorefolder/নিম্নলিখিত বিষয়বস্তু সঙ্গে):

*
!.gitignore

তারপরে, আপনি এই ডিরেক্টরিগুলি যুক্ত করতে পারেন .gitignoreএবং প্রতিটি ডিরেক্টরিতে কেবল ফাইল যুক্ত হবে - তবে এর অর্থ ডিরেক্টরিগুলি এখন ট্র্যাক করা হবে (যেমন, ক্লোনিং করার সময় তৈরি করা হয়েছে)।


7
এই উদ্দেশ্যে ব্যবহৃত .gitignore ফাইলগুলি খালি থাকতে পারে।
কেভিপি

4
ফোল্ডারগুলি যদি কোনও উচ্চ .gitignoreফাইল দ্বারা উপেক্ষা করা হয় তবে এগুলি খালি থাকতে পারে । এই ক্ষেত্রে, এটি আমার সঠিক উত্তর।
কিংক্রাঞ্চ

4
আরও বুদ্ধিমান এবং সহজ হ'ল .gitkeep নামের একটি ফাইল ব্যবহার করা, তারপরে আপনাকে .gitignore ফাইলটিতে কোনও জিনিস রাখার দরকার নেই।
হেজেহোগ

4
@kevpie ফোল্ডারে অন্য ফাইল রয়েছে এবং সে চায় না সেগুলি ট্র্যাক করা হোক। .Gitignore ফাইলটি খালি থাকলে, সেই ফাইলগুলি দৃশ্যত ট্র্যাক করা হবে।
মালায়াস

একই উদ্দেশ্যে, আমি .gitkeepপরিবর্তে ব্যবহার করি .gitignore। এটি আমার কাছে আরও বোধগম্য
Éডারসন টি। স্জলতা

22

গিট খালি ডিরেক্টরিগুলি ট্র্যাক করে না। আপনি প্রতিশ্রুতিবদ্ধ হতে চান এমন ফোল্ডারে কিছু খালি স্থানধারক ফাইল যুক্ত করুন।

touch application/cache/.keep
git add -f application/cache/.keep

প্রতিটি "খালি" ফোল্ডার দিয়ে এটিও করুন। পরে আপনি এই ফাইলগুলি উপেক্ষা করতে পারেন, এগুলি কেবল গিটটি ক্লোনে এই ডিরেক্টরিগুলি তৈরি করে তা নিশ্চিত করার জন্য এটি বিদ্যমান। এতে থাকা এন্ট্রিগুলি .gitignoreফোল্ডারগুলির মধ্যে অন্যদের ফাইলগুলি ট্র্যাক করা থেকে রক্ষা করে (যদি না আপনি এটি জোর করে git add -f;))।


16

এটি করার আরেকটি সম্ভবত পরিষ্কার উপায় আছে। আপনি রাখতে চান ফোল্ডারগুলিতে সাব। Gitignore ফাইল থাকার চেয়ে। আপনি এটি রুটটিতে রাখতে পারেন। Gitignore নীচে:

application/cache/*
application/cache/folder/*
application/cache/folder/onemorefolder/*
!*.gitkeep

এখন শুধু উপরে তালিকাভুক্ত হিসাবে ডিরেক্টরিতে খালি .গিটকিপ ফাইল তৈরি এবং প্রতিশ্রুতিবদ্ধ। তারপরে ফোল্ডারটি সেই .gitkeep ফাইলগুলির সাথে ট্র্যাক করা হবে তবে সামগ্রীর কোনওটিই ট্র্যাক করা যাবে না।


4
বা কেবল !*.gitkeep:)
ersডারসন টি। জ্লাচটা

প্রশ্নটি ছিল কীভাবে ফোল্ডারগুলির বিষয়বস্তু উপেক্ষা করা যায় তবে ফোল্ডারগুলি নিজেরাই রাখা যায়। সুতরাং আমি বিশ্বাস করি যে আমার উত্তর দাঁড়িয়েছে এবং ঠিক আছে! * গিটকিপ ফোল্ডারগুলির বিষয়বস্তু উপেক্ষা করবে না।
জোয়েল ডাকওয়ার্থ

3

আপনি এর প্রত্যেকটিতে একটি .gitignore ফাইল রাখতে পারেন (মিপাডি বলেছিলেন) বা আপনার মূলটিতে এমন কিছু তৈরি করতে পারেন g

/assets/*/
/assets/*.*

এটি আমার জন্য দারুণ কাজ করছে


এটি কাজ করে তবে কেবলমাত্র রেপো যদি ফাইল এক্সটেনশন ব্যবহার করে। এর মতো কিছু root/LICENSE-FILEবাদ দেওয়া হবে না।
ব্রেট জমির

2

ভিজ্যুয়াল স্টুডিওর গৃহীত উত্তর পছন্দ হয়নি। এটি কাজ করার জন্য আমাকে * এর আগে একটি নতুন লাইন যুক্ত করতে হয়েছিল।

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