উত্তর:
.gitkeep নথিভুক্ত নয়, কারণ এটি গিটের কোনও বৈশিষ্ট্য নয়।
গিট সম্পূর্ণ খালি ডিরেক্টরি যুক্ত করতে পারে না । গিটে খালি ডিরেক্টরিগুলি ট্র্যাক করতে চান এমন ব্যক্তিরা .gitkeepএই ডিরেক্টরিগুলিতে ডাকা ফাইলগুলি স্থাপনের কনভেনশন তৈরি করেছেন । ফাইলটিকে যে কোনও কিছু বলা যেতে পারে; গিট এই নামে কোনও বিশেষ গুরুত্ব দেয় না।
.gitignoreখালি ডিরেক্টরিগুলি ট্র্যাক করার জন্য একটি ফাইল যুক্ত করার একটি প্রতিযোগিতামূলক সম্মেলন রয়েছে , তবে কিছু লোক এটিকে বিভ্রান্তিকর হিসাবে দেখেন যেহেতু লক্ষ্যটি খালি ডিরেক্টরিগুলি রাখা, এগুলি উপেক্ষা করা নয়; .gitignoreএমন ফাইলগুলি তালিকাভুক্ত করতে ব্যবহৃত হয় যা অচিহ্নযুক্ত ফাইলগুলি অনুসন্ধান করার সময় গিট দ্বারা উপেক্ষা করা উচিত।
.gitignoreদুটি লাইনযুক্ত একটি ফাইল: *এবং !.gitignoreযা চলছে তা জানাতে যথেষ্ট স্পষ্টতার চেয়ে বেশি। যদি আরও বিস্তৃততা প্রয়োজন হয়, # সিনট্যাক্স ব্যবহার করে ফাইলের শীর্ষে একটি মন্তব্য যুক্ত করুন ।
.keepপরিবর্তে ফাইলগুলি ব্যবহার করে এই কনভেনশনটি কিছুটা পরিবর্তন করেছে .gitkeep, যেহেতু গিটই কেবলমাত্র উত্স নিয়ন্ত্রণ ব্যবস্থা নয় যা খালি ফোল্ডারগুলি ট্র্যাক করে না। আরও বিশদ এখানে: github.com/rails/rails/issues/2800
.gitkeepকেবল একটি স্থানধারক। একটি ডামি ফাইল, সুতরাং গিট ডিরেক্টরিটি ভুলে যাবে না, যেহেতু গিট কেবলমাত্র ফাইলগুলি ট্র্যাক করে।
যদি আপনি একটি খালি ডিরেক্টরি চান এবং এটি গিটের জন্য 'পরিষ্কার' থাকে তা নিশ্চিত করে, এর .gitignoreমধ্যে নিম্নলিখিত লাইনগুলি সহ একটি তৈরি করুন :
# .gitignore sample
###################
# Ignore all files in this dir...
*
# ... except for this one.
!.gitignore
যদি আপনি কেবল এক ধরণের ফাইল গিটের কাছে দৃশ্যমান হতে চান তবে এখানে .gitignore এবং সমস্ত .txtফাইল ব্যতীত সমস্ত কিছু কীভাবে ফিল্টার করা যায় তার একটি উদাহরণ এখানে রয়েছে :
# .gitignore to keep just .txt files
###################################
# Filter everything...
*
# ... except the .gitignore...
!.gitignore
# ... and all text files.
!*.txt
('#' মন্তব্যগুলি নির্দেশ করে))
!সামনে কেন দরকার .gitignore? বিন্দু থেকে বাঁচার জন্য এটি কি?
!নিম্নলিখিত অংশটিকে উপেক্ষা করে যেমন প্রোগ্রামিংয়ে সাধারণত হয়।
!.gitignoreবল একটি Git ফাইল উপেক্ষা করা, নয়তো ফাইল তারপর যোগ সম্পাদন করা, অথবা উপযুক্ত বিষয়বস্তু সঙ্গে এটি যোগ ( "*" কেবল নিশ্চিত ফোল্ডারের বিদ্যমান করতে সবকিছু, বা কিছুই উপেক্ষা করার) আরও উদাহরণ ।
Since the git ignore file is already in the repo it is not necessary to not-ignore it - it is already tracked.------ যদি এটি না হয় এবং আপনি জোরালো অ্যাড না করেন তবে আপনি এটি ভুলে যেতে পারেন। তুচ্ছ মামলায় সমস্যা নেই, তবে এটি যদি বড় ফাইল হয় তবে আপনি বিচলিত হতে পারেন। ব্যবহার !.gitignoreআপনাকে নিজের পায়ে গুলি করা থেকে বিরত রাখে। আমি এটি পছন্দ করি, অতীতে নিজেকে পুড়িয়ে ফেলেছিলাম।
.gitignore
আপনার ডিরেক্টরিতে থাকা ফাইলগুলির একটি তালিকা অন্তর্ভুক্ত একটি পাঠ্য ফাইল যা গিটটি উপস্থাপন করবে বা সংগ্রহস্থলে অ্যাড / আপডেট করবে না।
.gitkeep
যেহেতু গিট একটি সংগ্রহস্থলে খালি ডিরেক্টরিগুলি মুছে ফেলে বা সংযুক্ত করে না, তাই .gitkeep একটি হ্যাকের ধরণ (আমি মনে করি না এটি সরকারীভাবে গিটের একটি অংশ হিসাবে নামকরণ করা হয়েছে) খালি ডিরেক্টরিগুলি সংগ্রহস্থলটিতে রাখার জন্য।
touch /path/to/emptydirectory/.gitkeepফাইল যুক্ত করতে কেবল একটি করুন, এবং গিট এখন এই ডিরেক্টরিটি সংগ্রহস্থলটিতে বজায় রাখতে সক্ষম হবে।
.gitignoreপ্রতিটি ফোল্ডারে প্রতিটি বারের জন্য পুরো পাথটি নির্দিষ্ট করতে না চাইলে আপনি যতগুলি চান তা পেতে পারেন।
.gitkeepফাইলের মধ্যে খালি ডিরেক্টরি তালিকা উল্লেখ করার চেষ্টা করি তবে এটি খালি ডিরেক্টরিগুলি ট্র্যাক করবে না, কেবল ফোল্ডার ট্র্যাক যেখানে .gitkeepফাইল বিদ্যমান। কেন তাই?
.gitignoreপ্রতিবারে প্রতিটি ফোল্ডারে পুরো পথ নির্দিষ্ট করে দেওয়া থেকে একাধিক গুলি আপনাকে বাঁচায়? আমি মনে করি আমি স্পষ্ট কিছু মিস করছি।
READMEঅন্যথায় খালি সাব ডাইরেক্টরিতে এমন একটি ফাইল স্থাপন করা কি আরও ভাল সমাধান হবে না যে সেই সাব-ডিরেক্টরীটি কী ব্যবহার করতে চলেছে সে সম্পর্কে কিছুটা তথ্য রয়েছে? এটি এমন একটি ফাইল বলা বিভ্রান্তিকর বলে মনে হচ্ছে.gitkeepযা আসলে গিটের অংশ নয়।