শিরোনাম এটি সব বলছে। এমন অনেক ক্ষেত্রে আছে যেখানে আপনি .gitignore ফাইলের সমস্যা সমাধান করছেন কারণ এটি প্রত্যাশা অনুযায়ী কাজ করছে না।
.gitignore ফাইলটি গিট রিপোজিটরিতে একটি গুরুত্বপূর্ণ ভূমিকা পালন করে। আপনি যদি .gitignore ফাইলটি কাজ না করে, আপনি ভুলবশত এমন পরিবর্তনগুলি ট্র্যাক করতে পারেন যা ব্যক্তিগত রাখা উচিত। এই পরিবর্তনগুলির মধ্যে কিছু সংবেদনশীল তথ্য থাকতে পারে, যেমন API কী৷
৷.gitignore ফাইল ভাঙার দুটি কারণ হল:
- আপনি প্রতিশ্রুতিবদ্ধ হওয়ার পরে .gitignore-এ একটি ফাইল যোগ করা।
- আপনার .gitignore ফাইলে ভুল ফাইলের নাম বা পথ উল্লেখ করা।
আমরা এই টিউটোরিয়ালে এই দুটি সমস্যা নিয়ে আলোচনা করব এবং কীভাবে সেগুলি সমাধান করা যায়।
.gitignore ফাইল কি?
.gitignore ফাইলটিতে এমন সমস্ত ফাইলের একটি তালিকা রয়েছে যা আপনি আপনার গিট সংগ্রহস্থলে সংরক্ষণ করতে চান না। এই ফাইলটি প্রায়ই কনফিগারেশন এবং পরিবেশ ফাইলগুলিকে একটি সংগ্রহস্থলের বাইরে রাখতে ব্যবহৃত হয়। এই ফাইলগুলিতে প্রায়ই ব্যক্তিগত তথ্য থাকে এবং কোনও দূরবর্তী সংগ্রহস্থলে থাকা উচিত নয়৷
এই ফাইলটির নাম দেওয়া উচিত এবং স্পষ্টভাবে .gitignore হিসাবে সংরক্ষণ করা উচিত . এই প্লেইন টেক্সট ফাইলে, আপনি তখন ফাইল বা ডিরেক্টরিগুলির পাথ যোগ করবেন যা আপনি গিটকে ট্র্যাক না করতে চান। এই ফাইলটিতে যা কিছু যোগ করা হয়েছে তা উপেক্ষা করবে এবং এর ট্র্যাকিং ট্রিতে যোগ করবে না।
এখানে একটি gitignore ফাইল বিষয়বস্তুর একটি উদাহরণ:
node_modules/ .env
এই ফাইলটিতে আমরা মূলত গিটকে একটি নির্দিষ্ট ফাইল উপেক্ষা করতে বলছি। এটি হল .env ফাইল, যেটিতে প্রায়ই API কী থাকে। আমরা node_module ফোল্ডারটিকেও উপেক্ষা করছি যাতে সমস্ত ইনস্টল করা NPM প্যাকেজ রয়েছে৷
81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগ দেওয়ার পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷
৷গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় ব্যয় করেছে।
উপেক্ষা করার জন্য সাধারণ ফাইলগুলির মধ্যে রয়েছে .DS_Store ফাইল, .env ফাইল এবং কনফিগার ফাইল। .DS_Store ফাইলগুলি প্রায়ই macOS অপারেটিং সিস্টেমে পাওয়া যায় এবং গিট সংগ্রহস্থলের অংশ হওয়ার প্রয়োজন নেই৷
বেশিরভাগ .gitignore ফাইল একটি সংগ্রহস্থলের রুট ডিরেক্টরিতে স্থাপন করা হয়। .gitignore ফাইল সম্পর্কে আরও জানতে, নতুনদের জন্য আমাদের .gitignore ফাইল গাইড দেখুন।
দৃষ্টিকোণ A:প্রতিশ্রুতি দেওয়ার পরে .gitignore-এ একটি ফাইল যোগ করা
আমরা অভিযোগ করতে পারি কেন gitignore কাজ করছে না আমরা ভুলভাবে একটি ফাইল করার পরে যা উপেক্ষা করা উচিত ছিল। তাই আমরা সেই সত্যের পরে এটিকে gitignore-এ যোগ করি এবং অভিযোগ করি যে Git এখনও এটি ট্র্যাক করছে।
ভাল এর কারণ হল যে আমাদের ফাইল/ফোল্ডারগুলিকে কমিট করার আগে যুক্ত করতে হবে। গিট ইতিমধ্যে তাদের ট্র্যাক করছে, তাই তাদের আবার আনট্র্যাক করতে, আমাদের নিম্নলিখিত কমান্ডটি করতে হবে:
git rm -rf --cached <path>
প্রথম অংশ git rm
git rm --cached <file>
সুতরাং এটি দিয়ে আপনি গিটকে নির্দেশ করছেন যে আপনি আর প্রদত্ত ফাইল/ফোল্ডারটি ট্র্যাক করতে চান না। এখন আবার চেষ্টা করুন এবং আপনার gitignore এটির মতো কাজ করবে . শুধু মনে রাখবেন gitignore কাজ করার জন্য ফাইল/ফোল্ডার নির্দিষ্ট করা আবশ্যক!
দৃষ্টিকোণ B:Gitignore কমিট করার আগে তৈরি করা হয়েছে এবং এখনও ফাইল ট্র্যাক করছে না
যদি .gitignore এখনও ফাইলটি ট্র্যাক না করে, তাহলে সমাধানটি আপনি সঠিক ফাইলটি উল্লেখ করছেন তা পরীক্ষা করার মতোই সহজ হতে পারে। আপনি ঠিক কোন ফাইলগুলিকে .gitignore ফাইলটি উপেক্ষা করতে চান তা আপনাকে নির্দিষ্ট করতে হবে৷ যেকোনো বানান ত্রুটি বা ভুল পথের নাম আপনাকে ম্যানুয়ালি ঠিক করতে হবে।
এই উদাহরণটি বিবেচনা করুন:
*.pyyc
.gitignore ফাইলটি গিটকে বলে যে কোন ফাইলগুলিকে উপেক্ষা করতে হবে, যা এই ক্ষেত্রে সমস্ত .pyyc ফাইল। কিন্তু, আমাদের উদ্দেশ্য হল .pyc ফাইলগুলিকে উপেক্ষা করা। .pyc ফাইল হল পাইথন প্রোগ্রামের কনফিগারেশন ফাইল। আমাদের .gitignore ফাইলটি এটি জানে না তাই আমাদের নিয়মটি ঠিক করতে হবে:
*.pyc
আমাদের সংগ্রহস্থল এখন সমস্ত .pyc ফাইল উপেক্ষা করবে৷
৷এছাড়াও পরীক্ষা করুন যে ফাইল/ফোল্ডার ঘোষণার শুরুতে বা শেষে আপনার কাছে কোনো ট্রেলিং স্পেস নেই।
উপসংহার
আমরা কয়েকটি পরিস্থিতি এবং বিভিন্ন ক্ষেত্রে সমাধানের সম্ভাবনা নিয়ে আলোচনা করেছি যখন gitignore প্রত্যাশা অনুযায়ী কাজ করছিল না। মূল উপায় হল যে ফাইল/ডিরেক্টরিগুলি কোথায় অবস্থিত তা আপনাকে অবশ্যই বুঝতে হবে যাতে আপনি সঠিক পথ যোগ করতে পারেন৷
আপনাকে অবশ্যই সচেতন হতে হবে যে আপনার এমন কোনো ফাইল যোগ করা উচিত যা আপনি তৈরি করার সাথে সাথে উপেক্ষা করতে হবে। আপনি যদি ভুল করে এটা করে থাকেন, ভাগ্যক্রমে আমাদের কাছে git rm -rf –ক্যাশেড
চূড়ান্ত নোট :এমন অন্যান্য ক্ষেত্রে হতে পারে যেখানে গিট রিসেট কার্যকর হতে পারে। আমি গিট রিসেট সম্পর্কিত একটি নিবন্ধ লিখেছিলাম যা এই ক্ষেত্রে কার্যকর হবে। তাই গিট রিসেট হবে পূর্বাবস্থায় ফিরে যাওয়ার মতো, তাই কিছু ক্ষেত্রে আপনি যা চান তা।
আপনি কি গিট সম্পর্কে আরও জানতে চান? আমাদের কিভাবে গিট শিখবেন গাইড পড়ুন। এই নির্দেশিকাটিতে আপনি গিট শেখার বিষয়ে বিশেষজ্ঞের পরামর্শ এবং শীর্ষ শিক্ষার সংস্থানগুলির নির্দেশিকা পাবেন৷
৷