.gitignore ফাইলগুলিতে ফাইলগুলির একটি তালিকা রয়েছে যা Git-এর একটি স্থানীয় প্রকল্পে উপেক্ষা করা উচিত। একটি .gitignore ফাইল সাধারণত একটি প্রকল্পের প্রধান ডিরেক্টরিতে প্রদর্শিত হয়। আপনি একক ফাইল, একাধিক ফাইল বা ফোল্ডার উপেক্ষা করতে পারেন।
আপনার কাছে এমন ফাইল থাকতে পারে যা আপনি আপনার গিট সংগ্রহস্থলের মূল সংস্করণে অন্তর্ভুক্ত করতে চান না। এই ফাইলগুলিতে কনফিগারেশন বা স্থানীয় ভেরিয়েবল থাকতে পারে যা ব্যক্তিগত এবং অন্য সহযোগীদের দেখা উচিত নয়৷
সেখানেই .gitignore ফাইলটি আসে। এই ফাইলটি আপনাকে ফাইল উপেক্ষা করার জন্য গিটকে নির্দেশ দিতে দেয়।
এই গাইডে, আমরা .gitignore কী, এটি কীভাবে কাজ করে এবং কীভাবে আপনি নিজের .gitignore ফাইলটি লিখতে পারেন সে সম্পর্কে কথা বলতে যাচ্ছি। আর কিছু না করে, চলুন শুরু করা যাক!
. gitignore ফাইল কি?
একটি .gitignore ফাইল সেই ফাইলগুলিকে তালিকাভুক্ত করে যা Git উপেক্ষা করবে। .gitignore ফাইলগুলি সাধারণত একটি প্রকল্পের রুট ডিরেক্টরিতে প্রদর্শিত হয়। Git দ্বারা ট্র্যাক করা ফাইলগুলিকে উপেক্ষা করা হয় না যদি না আপনি সেগুলিকে একটি প্রকল্প থেকে সরিয়ে দেন৷
৷আপনি একটি কমিট তাদের যোগ যখন Git. এর মানে হল যে কনফিগারেশন ফাইল এবং সংকলিত কোড সহ প্রতিটি ফাইল একটি প্রতিশ্রুতিতে যোগ করা হবে যদি আপনি * অপারেটর ব্যবহার করেন। এই অপারেটর একটি প্রতিশ্রুতি মধ্যে সব ফাইল পর্যায়.
প্রায়শই, বিকাশকারীরা আউটপুট ফোল্ডার, লুকানো সিস্টেম ফাইল এবং সংকলিত কোড উপেক্ষা করতে চায়। উদাহরণস্বরূপ, যদি আপনার একটি সংগ্রহস্থলে একটি .env ফাইল থাকে, আপনি এটি লুকিয়ে রাখতে চাইতে পারেন। এর কারণ হল .env ফাইলগুলিতে সাধারণত API কী থাকে যা আপনি একটি সংগ্রহস্থলে প্রতিশ্রুতিবদ্ধ করতে চান না।
আপনি ফাইল উপেক্ষা করতে ব্যবহার করতে পারেন কোন উপেক্ষা কমান্ড নেই. .gitignore ফাইলে আপনি যে সমস্ত ফাইলগুলিকে উপেক্ষা করতে চান তার একটি তালিকা তৈরি করতে হবে৷
কিভাবে একটি .gitignore ফাইল লিখতে হয়
একটি .gitignore তৈরি করা হচ্ছে ফাইল সহজ। একটি কমান্ড শেল খুলুন এবং .gitignore নামে একটি পাঠ্য ফাইল তৈরি করুন একটি প্রকল্পের রুট ডিরেক্টরিতে। আপনি স্পর্শ কমান্ড ব্যবহার করে এটি করতে পারেন:
আমরা একটি .gitignore ফাইল তৈরি করেছি। আমাদের কোনো কনফিগারেশন সেটিংস দিয়ে আমাদের ফাইল সেট আপ করার দরকার নেই। আমাদের পরবর্তী ধাপ হল আমরা যে ফাইলগুলিকে উপেক্ষা করতে চাই তার একটি তালিকা যোগ করা। এই ফাইলগুলি আনট্র্যাকড ফাইলে পরিণত হয়, যা একটি স্থানীয় সংগ্রহস্থলে গিটকে উপেক্ষা করা ফাইলকে বর্ণনা করার জন্য আরেকটি শব্দ।
নিম্নলিখিত .gitignore বিবেচনা করুন ফাইল:
এই ফাইলটি দুটি সংস্থান উপেক্ষা করে:node_modules ডিরেক্টরির সমস্ত ফাইল এবং .env ফাইল। আমরা আমাদের স্থানীয় সংগ্রহস্থলে দুটি নির্দিষ্ট সংস্থান উপেক্ষা করেছি:একটি ফোল্ডার এবং একটি ফাইল৷
এটি জাভাস্ক্রিপ্ট প্রকল্পগুলির সাথে একটি সাধারণ সেটআপ। node_modules একটি প্রকল্পের জন্য আপনি যে সমস্ত নির্ভরতা ব্যবহার করছেন তার স্থানীয় অনুলিপি রয়েছে। আপনি যখন এই নির্ভরতাগুলি নিজেই ইনস্টল করতে পারেন তখন এটি একটি সংগ্রহস্থলে প্রতিশ্রুতিবদ্ধ করা অবাস্তব হবে। .env ফাইলটিতে API কী রয়েছে। অনেক লোকের অ্যাক্সেস আছে এমন একটি সংগ্রহস্থলে API কীগুলি ভাগ করা খারাপ অভ্যাস।
ধরা যাক যে আমরা একাধিক ফাইল বা ডিরেক্টরি উপেক্ষা করতে চাই। আমরা * ওয়াইল্ডকার্ড ব্যবহার করে এটি করতে পারি।
আসুন একটি সংগ্রহস্থলের সমস্ত .pyc ফাইল উপেক্ষা করি:
সমস্ত ফাইল যার নামের প্যাটার্ন *.pyc এর সাথে মেলে উপেক্ষা করা হয়৷ তারকাচিহ্ন হল ওয়াইল্ডকার্ড অপারেটর৷
৷GitHub গিটগনোর ফাইলগুলির একটি চমৎকার সংগ্রহ তৈরি করেছে যা আপনি তাদের সাইটে ব্যবহার করতে পারেন। GitHub-এর gitignore ফাইলের সংগ্রহ দেখুন।
একাধিক .gitignore ফাইল ব্যবহার করা
আপনি একই সংগ্রহস্থলে একাধিক .gitignore ফাইল ব্যবহার করতে পারেন। এটি কাজ করে কারণ .gitignore যে ডিরেক্টরিতে এটি স্থাপন করা হয়েছে তার সাথে আপেক্ষিক।
আমাদের শেষ উদাহরণে, আমরা আমাদের প্রকল্পের রুট ডিরেক্টরিতে .gitignore রেখেছি। ধরা যাক যে আমরা diff/ ফোল্ডারে .pyc-এ শেষ হওয়া সমস্ত ফাইলকে উপেক্ষা করতে চাই। আমরা কমান্ড লাইন ব্যবহার করে ডিফ ফোল্ডারে .gitignore নামে একটি ফাইল তৈরি করে এটি করতে পারি:
আমরা .gitignore ফাইলে নিম্নলিখিত নিয়ম যোগ করব:
যখন আমরা আমাদের সংগ্রহস্থলে কোড কমিট করতে যাই, গিট ডিফ/ ফোল্ডারের যেকোন ফাইলকে উপেক্ষা করবে যা .pyc-এ শেষ হয়।
এই সেটআপটি সর্বোত্তম যখন একটি প্রকল্পের মধ্যে নির্দিষ্ট ফোল্ডারগুলিতে প্রয়োগ করার জন্য আপনার শুধুমাত্র নিয়মের প্রয়োজন হয়৷ যাইহোক, একটি প্রকল্পে একাধিক .gitignore ফাইল থাকা বিভ্রান্তিকর হতে পারে। একটি বিকল্প হল আরও সুনির্দিষ্ট হওয়া যখন আপনি বলেন যে কোন ফাইলগুলি আপনার প্রকল্পকে উপেক্ষা করা উচিত। আপনি যদি নির্দিষ্ট হন তবে আপনি আপনার সমস্ত নিয়ম একটি .gitignore ফাইলে রাখতে পারেন। এই ফাইলটি বিবেচনা করুন:
এই .gitignore একটি গিট প্রকল্পের রুট ডিরেক্টরিতে রয়েছে। এটি গিটকে প্রজেক্টে .txt-এ শেষ হওয়া সমস্ত ফাইল উপেক্ষা করার নির্দেশ দেয়। এটি ডিফ/ ফোল্ডারে থাকা .pyc-এ শেষ হওয়া সমস্ত ফাইল উপেক্ষা করার জন্যও গিটকে নির্দেশ দেয়৷
একটি গ্লোবাল গিট উপেক্ষা করার নিয়ম কীভাবে তৈরি করবেন
আপনার তৈরি প্রতিটি প্রকল্পের জন্য একটি .gitignore ফাইল সংজ্ঞায়িত করা সময়সাপেক্ষ হতে পারে। আরও কী, আপনি সাধারণত দেখতে পাবেন যে আপনার বেশিরভাগ প্রকল্পই .gitignore নিয়মের একই সেট ব্যবহার করে।
আপনি একটি বিশ্বব্যাপী গিট উপেক্ষা নিয়ম সেট করতে পারেন যা আপনার সিস্টেমের প্রতিটি সংগ্রহস্থলের জন্য স্বয়ংক্রিয়ভাবে গিটগনোর নিয়ম সেট করবে। এই ফাইলটি সাধারণত আপনার অপারেটিং সিস্টেমের হোম ডিরেক্টরিতে রাখা হয়, যেমন /home/your_username অথবা /ব্যবহারকারী/আপনার_ব্যবহারকারীর নাম .
আসুন একটি বিশ্বব্যাপী .gitignore ফাইল তৈরি করি:
এই কমান্ডটি আমাদের হোম ডিরেক্টরিতে একটি খালি .gitignore ফাইল তৈরি করে। এই ফাইলটি খুলুন এবং আপনার সিস্টেমে সমস্ত গিট সংগ্রহস্থলের জন্য আপনি যে নিয়মগুলি সেট করতে চান তাতে যোগ করুন।

"ক্যারিয়ার কর্ম আমার জীবনে প্রবেশ করেছিল যখন আমার এটির সবচেয়ে বেশি প্রয়োজন ছিল এবং দ্রুত আমাকে একটি বুটক্যাম্পের সাথে মেলাতে সাহায্য করেছিল৷ স্নাতক হওয়ার দুই মাস পরে, আমি আমার স্বপ্নের চাকরি পেয়েছি যা আমার মূল্যবোধ এবং জীবনের লক্ষ্যগুলির সাথে সামঞ্জস্যপূর্ণ!"
ভেনাস, রকবটের সফটওয়্যার ইঞ্জিনিয়ার
আপনার বুটক্যাম্প ম্যাচ
খুঁজুনএকবার আপনি আপনার gitignore ফাইলটি কনফিগার করার পরে, আপনি core.excludesFile ব্যবহার করে এর নিয়মগুলি প্রয়োগ করতে পারেন সম্পত্তি:
git config --global core.excludesFile ~/.gitignore
এই কমান্ডটি ~/.gitignore-এ নিয়ম সেট করে একটি কম্পিউটারে সমস্ত গিট সংগ্রহস্থলে আবেদন করার জন্য ফাইল।
আপনি যখন একটি বিশ্বব্যাপী গিট উপেক্ষা নিয়ম সংজ্ঞায়িত করছেন তখন সতর্ক থাকুন। এর কারণ হল একটি বিশ্বব্যাপী .gitignore-এর নিয়মগুলি সমস্ত প্রকল্পে ডিফল্টরূপে সেট করা থাকে৷
একটি গ্লোবাল .gitignore ফাইলটি .env-এর মতো সাধারণ ফাইলগুলির জন্য সবচেয়ে ভাল ব্যবহার করা হয় যা আপনি প্রায় কখনই একটি গিট সংগ্রহস্থলে প্রতিশ্রুতিবদ্ধ করতে চান না৷
একটি প্রতিশ্রুতিবদ্ধ ফাইল কীভাবে উপেক্ষা করবেন
আপনি একটি প্রকল্পে কোন ফাইলগুলিকে উপেক্ষা করতে চান তা আপনি সর্বদা অনুমান করতে পারবেন না। এটি এমন হতে পারে যে আপনি আগে একটি সংগ্রহস্থলে একটি ফাইল প্রতিশ্রুতিবদ্ধ করেছেন কিন্তু এখন আপনি এটি উপেক্ষা করতে চান।
চলুন config.json ফাইলটিকে উপেক্ষা করি। এই ফাইলটি ইতিমধ্যেই আমাদের সংগ্রহস্থলে প্রতিশ্রুতিবদ্ধ। আমাদের .gitignore এ একটি উপেক্ষা করার নিয়ম যোগ করে শুরু করা উচিত ফাইল:
echo config.json >> .gitignore
এই কমান্ডটি config.json যুক্ত করে আমাদের .gitignore ফাইলের শেষ পর্যন্ত। এখন আমাদের সংগ্রহস্থল থেকে ফাইলটি সরিয়ে ফেলতে হবে। আমরা git rm –cached কমান্ড ব্যবহার করে এটি করতে পারি। এই কমান্ডটি শুধুমাত্র আপনার সংগ্রহস্থল থেকে একটি ফাইল মুছে ফেলবে। এটি আপনার কম্পিউটারে একটি স্থানীয় ফাইল থাকবে।
git rm --cached config.json
পরের বার যখন আমরা একটি কমিট তৈরি করব, config.json ফাইলটি উপেক্ষা করা হবে।
কিভাবে একটি উপেক্ষা করা ফাইল কমিট করবেন
আপনি একটি ফাইল করতে পারেন যা আপনার .gitignore ফাইলে উপেক্ষা করা হয়েছে।
এটি উপযোগী হতে পারে যদি আপনি ডিফল্ট কনফিগার ফাইল তৈরি করেন যা আপনি একটি সংগ্রহস্থলে প্রতিশ্রুতিবদ্ধ করতে চান যা অন্যথায় উপেক্ষা করা হবে। যখন আপনি স্টেজিং এলাকায় একটি ফাইল যোগ করছেন তখন আপনি -f পতাকা ব্যবহার করে একটি উপেক্ষা করা ফাইল করতে পারেন:
git add -f config.json git commit -m "feat: Create default config file"
এই কোডটি স্টেজিং এরিয়াতে config.json ফাইল যোগ করে। এটি তারপর স্টেজিং এলাকার বিষয়বস্তুর উপর ভিত্তি করে একটি প্রতিশ্রুতি তৈরি করে। আপনি আমাদের গিট অ্যাড টিউটোরিয়ালে গিট অ্যাড সম্পর্কে আরও শিখতে পারেন। আপনি আমাদের গিট কমিট টিউটোরিয়ালে গিট কমিট কমান্ড সম্পর্কে পড়তে পারেন।
উপসংহার
.gitignore ফাইলটি আপনাকে একটি গিট সংগ্রহস্থলের ফাইলগুলিকে উপেক্ষা করতে দেয়।
আপনি আপনার প্রতিশ্রুতিতে একটি প্রকল্পের স্থানীয় অনুলিপিতে সমস্ত ফাইল অন্তর্ভুক্ত করতে চান না। উদাহরণস্বরূপ, আপনি সংকলিত কোড, বা সিস্টেম লগ, বা কনফিগার ফাইলগুলি কমিট করতে চান না। ফাইলগুলি উপেক্ষা করতে, আপনি .gitignore-এ কোনটি উপেক্ষা করতে চান তা নির্দিষ্ট করতে পারেন।
একটি প্রকল্পে একাধিক .gitignore থাকতে পারে ফাইল আপনি git add কমান্ড ব্যবহার করার সময় -f পতাকা ব্যবহার করে একটি .gitignore নিয়ম ওভাররাইড করতে পারেন।
এখন আপনি একজন বিশেষজ্ঞের মতো .gitignore ফাইলটি ব্যবহার করতে প্রস্তুত!