সর্বাধিক উত্সাহিত উত্তর হিসাবে উপস্থাপিত সমাধানটি ভুল, এবং সহজেই এর মতো প্রদর্শিত হতে পারে।
আপলোডগুলিতে সবকিছু উপেক্ষা করে শুরু করুন / *:
mkdir -p uploads/rubbish/stuff/KEEP_ME
touch uploads/a uploads/rubbish/a uploads/rubbish/stuff/a uploads/rubbish/stuff/KEEP_ME/a
echo '/uploads/*' >> .gitignore
git init
git add .
git commit -m "Initial commit"
এখন উপরের মতো উপেক্ষা করা স্টাফগুলির মূল ডিরেক্টরিটি স্বাক্ষর করুন:
echo 'uploads/rubbish/stuff/KEEP_ME/' >> .gitignore
echo 'uploads/rubbish/stuff/KEEP_ME/*' >> .gitignore
git status -u
কোনও চিহ্নবিহীন ফাইল নেই ows
এটি কাজ করতে পেতে, আপনাকে uploads/
গাছের নীচে সমস্ত ফাইল উপেক্ষা করতে হবে ( uploads/**/*
কেবল শীর্ষ স্তর নয়, uploads/*
) এবং তারপরে আপনি যে গাছটি রাখতে চান তার সমস্ত পিতামহক ডিরেক্টরি যুক্ত করতে হবে
echo '/uploads/**/*' > .gitignore
echo '!/uploads/rubbish/' >> .gitignore
echo '!/uploads/rubbish/stuff' >> .gitignore
echo '!/uploads/rubbish/stuff/KEEP_ME' >> .gitignore
echo '!/uploads/rubbish/stuff/KEEP_ME/*' >> .gitignore
git status -u
যা দেয়:
On branch master
...
Untracked files:
(use "git add <file>..." to include in what will be committed)
uploads/rubbish/stuff/KEEP_ME/a
আমরা যদি ব্যবহার করেছিল uploads/*
মধ্যে .gitignore
উপরে, তারপর সব অন্তর্বর্তী ফাইল হিসেবে ভাল, সুতরাং উদাহরণস্বরূপ অন্তর্ভুক্ত করা হত uploads/rubbish/a
আপ উপরে অবস্থা কমান্ড দেখানো হবে।