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

Git-এ আনট্র্যাকড ফাইল রিমুভ করা

আপনি git clean কমান্ড ব্যবহার করে আনট্র্যাকড ফাইলগুলো রিমুভ করতে পারেন। -fd কমান্ড আনট্র্যাকড ডিরেক্টরি রিমুভ করে এবং git clean -fx কমান্ড উপেক্ষা করা এবং না করা উভয় ফাইল রিমুভ করে। আপনি .gitignore ফাইল ব্যবহার করে আনট্র্যাকড ফাইল রিমুভ করতে পারেন।

একটি Git রিপোজিটরিতে দুটি ধরনের ফাইল থাকে: ট্র্যাকড এবং আনট্র্যাকড ফাইল। আপনি এমন পরিস্থিতি সম্মুখীন হতে পারেন যেখানে আপনাকে একটি Git রিপোজিটরির আনট্র্যাকড ফাইলগুলো রিমুভ করতে হবে।

আমরা কি আনট্র্যাকড ফাইল রিমুভ করব? নিচের কারণগুলোর জন্য করতে হতে পারে:

  • আমাদের ওয়ার্কিং (লোকাল) ডিরেক্টরি অনপ্রয়োজনীয় ফাইলগুলোর কারণে জামাকাপাং হয়ে গেছে
  • আপনি Git কে একটি ফোল্ডার pokaz করছেন যা আপনি দেখাতে চান না
  • অন্যান্য মার্জ থেকে বাকি ফাইল আছে, অথবা আপনি নির্দিষ্ট ফাইলগুলো রিমুভ করতে চান।

Git আনট্র্যাকড ফাইল রিমুভ করে

আপনি একটি Git ব্রাঞ্চ থেকে আনট্র্যাকড ফাইলগুলো এই পদ্ধতিগুলো ব্যবহার করে হ্যান্ডেল করতে পারেন:

  • একটি .gitignore ফাইল, যা একটি রিপোজিটরির ফাইল এবং ডিরেক্টরি উপেক্ষা করে
  • git clean -fx কমান্ড, যা আনট্র্যাকড এবং ট্র্যাকড ফাইল রিমুভ করে
  • git clean -fd কমান্ড, যা আনট্র্যাকড ফাইল এবং ডিরেক্টরি রিমুভ করে

এই গাইডে, আমরা Git-এ আনট্র্যাকড ফাইল কীভাবে রিমুভ করতে হয় তা নিয়ে আলোচনা করব। আমরা কিছু উদাহরণ রেফার করব যাতে আপনি দ্রুত শুরু করতে পারেন।

ট্র্যাকড বনাম আনট্র্যাকড ফাইলের পার্থক্য

আপনার ওয়ার্কিং বা লোকাল ডিরেক্টরিতে আপনার ফাইলগুলো হয় ট্র্যাকড হয় আনট্র্যাকড। ট্র্যাকড মানে সেই ফাইলগুলো jotka পূর্বের স্ন্যাপশটে অ্যাড এবং কমিট করা হয়েছে এবং Git সেগুলো সম্পর্কে জানে, সেগুলো পরিবর্তনের জন্য ট্র্যাক করছে।

আনট্র্যাকড ফাইলগুলো তার বিপরীত, সেই ফাইলগুলো পূর্বের কমিটে ছিল না এবং কমিট করার জন্য স্টেজ করা হয়নি। আপনার অপশন আছে সেগুলো স্টেজ করে আপনার রিপোজিটরিতে কমিট করতে, অথবা সেগুলো রিমুভ করতে!

আমরা যদি ফাইল মডিফাই/অ্যাড করার ঠিক পরের সাথে সাথে git status করি তবে এটি আমাদের আনট্র্যাকড ফাইলগুলোর তালিকা এবং ট্র্যাকড ফাইলগুলো দেখাবে।

আনট্র্যাকড ফাইল রিমুভ Git অপশন ১: .gitignore

প্রথম অপশন হলো সτοι ফাইলগুলো উপেক্ষা করা। আপনি একটি C++ প্রজেক্টে কাজ করছেন হতে পারে যেখানে বিল্ড করার সময় আপনি কিছু ফাইল জেনারেট করতে পারেন যা আপনি উপলব্ধ রাখতে চান না।

উদাহরণস্বরূপ, আপনার কাছে একটি .env ফাইল থাকতে পারে যেটিতে আপনার সব এনভায়রনমেন্ট ভেরিয়েবল এবং ডেটাবেস, API, এক্সেস কী আছে। আপনি কি চান সেটা বাহিরে বেরিয়ে যায়? এখানেই .gitignore ফাইলগুলো কাজে আসে।

.gitignore ফাইলে উপস্থিত যেকোনো ফাইল আনট্র্যাকড/ট্র্যাকড Git ফ্লোের অংশ হবে না। সেগুলো সেটি থেকে রিমুভ হয়ে যাবে। তাই Git সেগুলো উপেক্ষা করবে এবং সেগুলো ট্র্যাক করবে না নই সেগুলো ট্র্যাক না হওয়ায় কমপ্লেইন করবে।

প্রথমে, রুটে একটি .gitignore ফাইল তৈরি করুন। এবং তারপর আমরা রিলেটিভ পথ নির্দিষ্ট করব। তাই যদি বলুন আমরা node_modules এবং config.env ফাইল হাইড করতে চাই তবে আমরা সেগুলো এভাবে যোগ করব:

node_modules config.env

Gitignore বোঝা অত্যন্ত জরুরি কারণ আপনার প্রজেক্ট বাড়ার সাথে সাথে আপনাকে অবগত থাকতে হবে কোন ফোল্ডার বা ফাইলগুলো সেখানে যোগ করতে হবে। এর কারণ হলো আপনি সেগুলো Git ওয়ার্কফ্লোতে আনট্র্যাকড হিসেবে রাখতে চান না যাতে ভুলে সেগুলো স্টেজ হয়ে যায় এবং Git সেসই সংবেদনশীল ফাইলগুলো সবার কাছে এক্সপোজ করে!

Gitignore বোঝা অত্যন্ত জরুরি কারণ আপনার প্রজেক্ট বাড়ার সাথে সাথে আপনাকে অবগত থাকতে হবে কোন ফোল্ডার বা ফাইলগুলো সেখানে যোগ করতে হবে। এর কারণ হলো আপনি সেগুলো Git ওয়ার্কফ্লোতে আনট্র্যাকড হিসেবে রাখতে চান না যাতে ভুলে সেগুলো স্টেজ হয়ে যায়। এতে Git এমন ফাইলগুলো ট্র্যাক করতে শুরু করবে যেগুলোর ইনফরমেশন একটি রিপোজিটরিতে শেয়ার করা উচিত নয়।

আনট্র্যাকড ফাইল রিমুভ Git অপশন ২: git clean

ফাইলগুলো রিমুভ করার আমাদের পরবর্তী অপশন হলো git clean কমান্ড ব্যবহার করা। git clean কমান্ড একটি রিপোজিটরির আনট্র্যাকড ফাইলগুলো ডিলিট করে।

git clean কমান্ড আপনার ওয়ার্কিং ট্রির ভেতর আপনার বর্তমান ওয়ার্কিং ডিরেক্টরি থেকে শুরু করে। আপনার ওয়ার্কিং ট্রি হলো যে ব্রাঞ্চটি আপনি দেখছেন।

এই কমান্ডটি উপকারী হতে পারে যদি, উদাহরণস্বরূপ, আপনি ভুলে একটি ফোল্ডার হাই স্কুলের ছবিগুলোর সাথে একটি রিপোজিটরিতে যোগ করে দেন অন্য একটি ফোল্ডারের বদলে।

Git clean কিছু অপশন নেয়। চলুন এই কমান্ডের সিনট্যাক্স দেখি:

git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <path>…

এই পয়েন্টে উল্লেখ করা যাক যে Git clean আপনার ফাইলটি হার্ড সিস্টেম ভাবে ডিলিট করে। এর মানে আপনি আপনার পরিবর্তনগুলো আনডু করতে পারবেন না। এটি টার্মিনালে rm কমান্ডের মতো। কিন্তু, যদি একটি ফাইল পূর্বের কমিটে ট্র্যাক করা থাকে, তবে আমরা পুরনো ভার্সন খুঁজে পেতে পারি।

git clean -d -n

যদি আমরা কোনো পথ নির্দিষ্ট না করি, আমরা প্রায়শই -d অপশন অন্তর্ভুক্ত করি যাতে Git আনট্র্যাকড ডিরেক্টরিগুলোতে দেখে।

আমাদের -n ড্রাই রান অপশন প্রথমে অন্তর্ভুক্ত করা উচিত। এটি Git কে সতর্ক করে কী রিমুভ হবে সেটি ডিলিট করার আগে। অন্য কথায়, -n ফ্ল্যাগ আমাদের ক্লিন ফাংশনের একটি ড্রাই রান পারফর্ম করে। তারপর, আমরা git clean চালাতে পারি একবার নিশ্চিত হলে যে আমাদের পরিবর্তনগুলো করা হয়েছে।

এই অপশন ব্যবহার করলে আমাদের একটি সेफগার্ড मिलবে যেসে ফাইলগুলো রিমুভ করার জন্য যা আমরা রেডি নই, বা যা আমরা রিমুভ করতে চাই না। এখানে কীভাবে আমরা git clean -d -n কমান্ডটি পাই।

এটি একশনে দেখি। আমাদের একটি sillyPicture.jpg আছে যা আমরা ট্র্যাক করতে চাই না এবং রিমুভ করতে চাই। চেক করুন কী হবে:

Git-এ আনট্র্যাকড ফাইল রিমুভ করা

git clean -f

Git clean কে কাজ করাতে, আমাদের একটি ফোর্স অপশন নির্দিষ্ট করতে হতে পারে। এই অপশনটি শুধু তখনই ব্যবহার করা উচিত যখন আপনি নিশ্চিত যে আপনি রিপোজিটরি থেকে আপনি সিলেক্ট করা ফাইলগুলো রিমুভ করতে চান।

চলুন আমাদের sillyPicture.jpg git clean -f দিয়ে রিমুভ করি অথবা আপনি আরও স্পেসিফিক হতে পারেন git clean -f sillyPicture.jpg দিয়ে।

Git-এ আনট্র্যাকড ফাইল রিমুভ করা

এখানে আপনি লক্ষ্য করতে পারেন যে git status প্রথমে বোঝালে কোনো আনট্র্যাকড ফাইল আছে, তারপর -f অপশন দিয়ে ডিলিট করার পর ফাইলটি চলে গেল। C'est fini!

যদিও -f অপশন এবং Git clean খুব শক্তিশালী, এটি উপেক্ষা করা ফাইলগুলোর সাথে কাজ করবে না। কারণ এটি শুধু যেসে ফাইলগুলোর সাথে কাজ করে যেগুলো Git সম্পর্কে জানে এবং তার ভার্সন কন্ট্রোল সিস্টেমের অংশ।

git clean -x

এটি রিকমেন্ড করা হয় না যদি না আপনি ভালোভাবে জানেন আপনি কী করছেন। হ্যাঁ আপনি উপেক্ষা করা ফাইল এবং ডিরেক্টরি রিমুভ করতে পারেন। এটি করতে শুধু -x অপশন ব্যবহার করুন। তাই git clean -d -x -f সেটি খুব সহজে করবে। কিন্তু এখনো ব্যবহার করবেন না।

git clean -d -i

বিগিনারদের জন্য রিকমেন্ডেড। আপনি শুরু করার পর্যায়ে আপনি কী অপশন পাস করছেন সেটি নিয়ে সতর্ক হতে চাইতে পারেন। আমরা ইতিমধ্যে আপনাকে ড্রাই রান -n অপশন দেখিয়েছি। এছাড়া -i অপশন আছে যা আপনাকে একটি ইন্টারেক্টিভ ইন্টারফেস দেখাবে যেটি আপনি ব্যবহার করতে পারেন!

Git-এ আনট্র্যাকড ফাইল রিমুভ করা

উপসংহার

আপনি একটি রিপোজিটরি থেকে আনট্র্যাকড ফাইলগুলো হয় .gitignore অথবা git clean কমান্ড ব্যবহার করে রিমুভ করতে পারেন। git clean কমান্ড ফাইলগুলো রিকার্সিভলি রিমুভ করে। এই কমান্ড আপনার বর্তমান ওয়ার্কিং ডিরেক্টরি থেকে শুরু করে।

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

  1. পাইথনে PDF ফাইল হ্যান্ডলিং: PyPDF2 লাইব্রেরির ব্যবহার

  2. এয়ারড্রয়েড ফাইল ট্রান্সফার দিয়ে ফাইল ট্রান্সফার

  3. গিট (Git) বIgিনার গাইড

  4. OneDrive ফাইল সুরক্ষিতভাবে কাউকে শেয়ার করার কম্প্লিট গাইড