কম্পিউটার টিউটোরিয়াল

git rm মাস্টার করুন: আপনার রিপোজিটরি থেকে ফাইল রিমুভ করার পূর্ণ গাইড

git rm কমান্ড একটি ফাইলকে Git রিপোজিটরি থেকে রিমুভ করে। এই কমান্ড ফাইলটিকে আপনার ফাইল সিস্টেম থেকে রিমুভ করে এবং তারপর Git রিপোজিটরি দ্বারা ট্র্যাক করা ফাইলগুলোর তালিকা থেকে রিমুভ করে। --cached ফ্ল্যাগ আপনাকে আপনার ফাইল সিস্টেমে ফাইল ডিলিট না করে Git রিপোজিটরি থেকে ফাইল ডিলিট করতে দেয়।

আপনি কীভাবে একটি ফাইলকে Git রিপোজিটরি থেকে রিমুভ করবেন? এটি একটি ভালো প্রশ্ন। এটি সবসময় কেস নয় যে আপনি একটি ফাইলকে চিরকাল একটি রিপোজিটরির অংশ থাকতে চান। আপনি সিদ্ধান্ত নিতে পারেন যে একটি ফাইল আর একটি প্রজেক্টের জন্য প্রয়োজন নেই, এবং তাই আপনি Git রিপোজিটরি থেকে সেটি রিমুভ করতে চান।

একটি ফাইলকে Git রিপোজিটরি থেকে রিমুভ করতে, আপনি git rm কমান্ড ব্যবহার করতে পারেন। এটি git add কমান্ডের বিপরীত; এটি ফাইল রিমুভ করে।

এই গাইডে, আমরা git rm কমান্ড কীভাবে ব্যবহার করবেন তা আলোচনা করব। আমরা git rm কমান্ডের একটি উদাহরণের মাধ্যমে হাঁটব যাতে আপনি বুঝতে পারেন কীভাবে এটি কাজ করে। চলুন শুরু করি!

Git-এ ফাইল কীভাবে ম্যানেজ হয়

git rm কমান্ড কীভাবে ব্যবহার করবেন তা আলোচনা করার আগে, আমাদের Git ভার্সন কন্ট্রোল সিস্টেমে ফাইল কীভাবে ম্যানেজ হয় সেটি বুঝতে হবে।

Git রিপোজিটরির ভিতরে ফাইলগুলো হয় ট্র্যাকড বা আনট্র্যাকড হতে পারে।

ট্র্যাকড ফাইলগুলো হলো যেগুলো একটি git কমিটে ইনক্লুড করা হয়েছে। আনট্র্যাকড ফাইলগুলো হলো যেগুলো এখনও রিপোজিটরিতে কমিট করা হয়নি। সাধারণত, আনট্র্যাকড ফাইলগুলো সেগুলো যেগুলো আপনি একটি কমিট তৈরির আগে তৈরি করেছেন।

একটি ফাইলকে Git কমিটে যোগ করতে, আপনি git add কমান্ড ব্যবহার করতে পারেন। এটি এটিকে একটি ট্র্যাকড ফাইল বানাবে। আপনি যদি একটি ফাইলকে ট্র্যাক হওয়া থেকে বন্ধ করতে চান, তবে আপনি git rm কমান্ড ব্যবহার করতে পারেন।

git rm কমান্ড একটি ফাইল বা ফাইল গ্রুপকে Git রিপোজিটরি থেকে রিমুভ করে। একটি ফাইল রিমুভ হয় আপনার মেশিন থেকে এবং Git রিপোজিটরি থেকে। আপনার লোকাল মেশিনে ফাইল সংরক্ষণ করতে, --cached ফ্ল্যাগ ব্যবহার করুন।

কোনো ফ্ল্যাগ ছাড়া, এই কমান্ড একটি ফাইলকে Git রিপোজিটরি এবং আপনার লোকাল ওয়ার্কিং ডিরেক্টরি উভয় থেকেই রিমুভ করবে। এর মানে এটি একটি ফাইল ডিলিট করে, ঠিক Linux rm কমান্ডের মতো যা একটি ফাইল কম্পিউটার থেকে ডিলিট করে।

এই কমান্ডের সবচেয়ে সিম্পল ব্যবহার হলো একটি ফাইল রিমুভ করা। আসুন একটি Git রিপোজিটরি থেকে settings.json নামে একটি ফাইল রিমুভ করি:

এই কমান্ড settings.json কে আমাদের রিপোজিটরির ট্র্যাকিং এরিয়া থেকে রিমুভ করে। আপনি একই কমান্ড ব্যবহার করে একাধিক ফাইল রিমুভ করতে পারেন। সেটি করতে, আপনি যে ফাইল বা ফোল্ডারগুলো রিমুভ করতে চান তাদের নাম স্পেস দিয়ে আলাদা করুন:

git rm settings.json .env

এটি সেটিংস.জসন এবং .এনভি ফাইলগুলো একটি রিপোজিটরি থেকে রিমুভ করবে।

ডিফল্টভাবে, আপনি rm কমান্ড রান করলে Git একটি সেফটি চেক কন্ডাক্ট করে আনস্টেজ এবং পাথ রিমুভ করার জন্য। এটি নিশ্চিত করবে যে আপনার করেন্ট ব্রাঞ্চের ফাইলগুলো স্টেজিং ইনডেক্সের মতো একই। আপনি এই আচরণ ওভাররাইড করতে পারেন -f, বা --force, ফ্ল্যাগ ব্যবহার করে:

আপনাকে -f ফ্ল্যাগ শুধু তখন ব্যবহার করা উচিত যখন আপনি একদম নিশ্চিত যে আপনি একটি ফাইল রিমুভ করতে চান। অন্যথায়, পরে মার্জ কনফ্লিক্ট হতে পারে। যদি এটি ঘটে, তবে আপনাকে সাহায্য করতে আমাদের মার্জ কনফ্লিক্ট রিজলভ করার গাইড আছে।

Git rm --cached

Git rm --cached ফ্ল্যাগ একটি ফাইলকে স্টেজিং এরিয়া থেকে রিমুভ করে। ওয়ার্কিং ডিরেক্টরি থেকে ফাইলগুলো intact থাকবে। এর মানে আপনার লোকালি ফাইলটির একটি কপি থাকবে। ফাইলটি আপনার Git প্রজেক্ট ট্র্যাক করার ইনডেক্স থেকে রিমুভ হবে।

আসুন settings.json ওয়ার্কিং ট্রি ফাইলটি আমাদের রিপোজিটরি থেকে রিমুভ করি কিন্তু আমাদের প্রজেক্ট ডিরেক্টরিতে রাখি:

git rm --cached settings.json

আমরা আমাদের পরবর্তী কমিট পুশ করলে, settings.json ফাইলটি রিমুভ হবে।

যতক্ষণ একটি ফাইল আপনার লোকাল ওয়ার্কিং ডিরেক্টরিতে এক্সিস্ট করে, আপনি এটিকে আবার আপনার Git রিপোজিটরিতে যোগ করতে পারেন। আপনি git add কমান্ড ব্যবহার করে এটি করতে পারেন। git add সম্পর্কে আরও পড়ুন আমাদের git add কমান্ড টিউটোরিয়ালে।

git rm কমান্ড কীভাবে আনডゥ করবেন

git rm কমান্ড শুধু স্টেজিং এরিয়া এবং ওয়ার্কিং ডিরেক্টরি আপডেট করে যতক্ষণ না একটি কমিট করা হয়। এর মানে আপনি কমান্ডটি রিভার্ট করতে পারেন। একটি git rm কমান্ড আনডু করতে, আপনি আপনার রিপোজিটরি কে লাস্ট কমিটে রিসেট করতে পারেন git reset ব্যবহার করে:

Git HEAD কমিট আমাদের রিপোজিটরিতে লাস্ট কমিটকে রিপ্রেজেন্ট করে। এইভাবে, এই কমান্ড আমাদের রিপোজিটরিকে লাস্ট কমিটে রিভার্ট করে।

আপনি একটি git rm কমান্ড রিভার্ট করতে পারেন এমনকি আপনি যদি ইতিমধ্যে রিপোজিটরিতে পরিবর্তনগুলো কমিট করে থাকেন। সেটি করতে, আপনি git reset কমান্ড ব্যবহার করতে পারেন এবং সেই কমিটের হ্যাশ স্পেসিফাই করতে পারেন যেটিতে আপনি রিভার্ট করতে চান:

git reset a7e3cce9637c74281e6590003b39d3990bbb2731

আমরা একটি Git রিপোজিটরিকে এর প্রিভিয়াস কমিটে রিভার্ট করছি। "reset" শব্দের পরে অক্ষরের স্ট্রিংটি লাস্ট কমিটের হ্যাশ।

একবার আমরা রিপোজিটরি রিভার্ট করলে, আমরা দেখতে পাই সেই রিপোজিটরি কমিট করার আগে কীভাবে দেখত। এর মানে আমাদের ফাইলটি এখনও স্টেজড থাকবে। অন্য কথায়, আমাদের git rm কমান্ড আনডু হয়ে যাবে।

Git rm vs. rm

git rm কমান্ড একটি ফাইলকে আপনার ওয়ার্কিং মেশিন এবং একটি Git রিপোজিটরি উভয় থেকেই রিমুভ করে। rm কমান্ড, অন্যদিকে, একটি ফাইলকে Git রিপোজিটরি থেকে রিমুভ করে না।

আপনি যদি একটি ফাইলকে আপনার Git রিপোজিটরি থেকে রিমুভ করতে চান, তবে আপনাকে git rm ব্যবহার করতে হবে। কারণ git rm কমান্ড একটি ফাইলকে Git রিপোজিটরি থেকে রিমুভ করার ইনস্ট্রাকশন এক্সিকিউট করে। লিনাক্স সিস্টেমের সকল ফাইল Git রিপোজিটরিতে থাকে না, তাই Linux rm কমান্ড Git রিপোজিটরি থেকে ফাইল রিমুভ করে না।

উপসংহার

git rm কমান্ড আপনাকে একটি ফাইলকে Git রিপোজিটরি এবং আপনার ওয়ার্কিং ডিরেক্টরি থেকে রিমুভ করতে দেয়। আপনি যদি শুধু আপনার Git রিপোজিটরি থেকে ফাইল রিমুভ করতে চান, তবে আপনি --cached ফ্ল্যাগ ব্যবহার করতে পারেন।

git rm মাস্টার করুন: আপনার রিপোজিটরি থেকে ফাইল রিমুভ করার পূর্ণ গাইড
"Career Karma আমার জীবনে ঢুকেছিল যখন আমার সেটি সবচেয়ে বেশি দরকার ছিল এবং দ্রুত একটি বুটক্যাম্পের সাথে মিলিয়ে দিয়েছিল। গ্র্যাজুয়েট হওয়ার দুই মাস পর আমি আমার স্বপ্নের চাকরি পেয়েছিলাম যা আমার মূল্যবোধ এবং লক্ষ্যের সাথে মিলে যেত!"

— ভেনাস, সফটওয়্যার ইঞ্জিনিয়ার, রকবট

আপনার বুটক্যাম্প ম্যাচ খুঁজুন

এখন আপনি git rm কমান্ড একটি কমান্ড লাইন এক্সপার্টের মতো ব্যবহার করতে পারেন!

Git-এ কাজ করার সম্পর্কে আরও জানতে, আমাদের How to Learn Git গাইড পড়ুন।

  1. CSS-এ টেবিল বর্ডার কল্যাপ্স করা

  2. সুইফটে ইমেইলে অ্যাটাচমেন্ট (Attachment) যোগ করে পাঠানোর পদ্ধতি

  3. Matplotlib-এ অক্ষ লেবেল ডানে বা উপরে আনা

  4. HTML DOM console.groupCollapsed() মেথড