গিট-এ স্টেজে না হওয়া পরিবর্তনগুলি বাতিল করার নির্দেশিকা

গিট-এ স্টেজে না হওয়া পরিবর্তনগুলি বাতিল করার নির্দেশিকা
গিট-এ স্টেজে না হওয়া পরিবর্তনগুলি বাতিল করার নির্দেশিকা

মাস্টারিং গিট: স্টেজেড পরিবর্তনগুলি পরিচালনা করা

সংস্করণ নিয়ন্ত্রণ বিকাশকারীদের জন্য অপরিহার্য, এবং গিট এই ডোমেনে সর্বাধিক ব্যবহৃত সরঞ্জামগুলির মধ্যে একটি। একটি সাধারণ কাজ হল আপনার ওয়ার্কিং ডিরেক্টরিকে পরিষ্কার রাখতে এবং অবাঞ্ছিত পরিবর্তনগুলি এড়াতে পর্যায়বিহীন পরিবর্তনগুলি বাতিল করা।

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

আদেশ বর্ণনা
git checkout -- <file> একটি নির্দিষ্ট ফাইলের পরিবর্তনগুলিকে শেষ প্রতিশ্রুতিবদ্ধ অবস্থায় ফিরিয়ে দেয়।
git checkout -- . কার্যকারী ডিরেক্টরির সমস্ত ফাইলের পরিবর্তনগুলিকে শেষ প্রতিশ্রুতিবদ্ধ অবস্থায় ফিরিয়ে দেয়।
git clean -f কাজের ডিরেক্টরি থেকে আনট্র্যাক করা ফাইলগুলিকে সরিয়ে দেয়।
git clean -fd কাজের ডিরেক্টরি থেকে আনট্র্যাক করা ফাইল এবং ডিরেক্টরিগুলি সরিয়ে দেয়।
git clean -fx ওয়ার্কিং ডিরেক্টরি থেকে আনট্র্যাক করা এবং উপেক্ষা করা ফাইলগুলি সরিয়ে দেয়।
subprocess.run(command, shell=True) পাইথন স্ক্রিপ্টের মধ্যে থেকে একটি শেল কমান্ড কার্যকর করে।

পরিবর্তন বাতিল করার জন্য স্ক্রিপ্ট সমাধান বোঝা

প্রদত্ত স্ক্রিপ্টগুলি একটি গিট রিপোজিটরিতে অ-পর্যায়বিহীন পরিবর্তনগুলি দক্ষতার সাথে পরিচালনা করার লক্ষ্য রাখে। দ্য git checkout -- <file> কমান্ড একটি নির্দিষ্ট ফাইলের পরিবর্তনগুলিকে শেষ প্রতিশ্রুতিবদ্ধ অবস্থায় ফিরিয়ে দেয়, যখন git checkout -- . সমস্ত ফাইলের পরিবর্তনগুলি ফিরিয়ে দেয়। দ্য git clean -f কমান্ড আনট্র্যাক করা ফাইলগুলিকে সরিয়ে দেয়, একটি পরিষ্কার কার্যকারী ডিরেক্টরি নিশ্চিত করে। আরও পুঙ্খানুপুঙ্খ পরিষ্কারের জন্য, git clean -fd আনট্র্যাক করা ফাইল এবং ডিরেক্টরি উভয়ই সরিয়ে দেয়, এবং git clean -fx উপেক্ষা করা ফাইলগুলিকেও অন্তর্ভুক্ত করতে এটি প্রসারিত করে।

Bash স্ক্রিপ্ট এই কমান্ডগুলিকে স্বয়ংক্রিয়ভাবে আনস্টেজ করা পরিবর্তনগুলি বাতিল করতে এবং ওয়ার্কিং ডিরেক্টরিকে এক ধাপে পরিষ্কার করে। পাইথন স্ক্রিপ্ট ব্যবহার করে একই লক্ষ্য অর্জন করে subprocess.run(command, shell=True) ফাংশন, যা স্ক্রিপ্টের মধ্যে থেকে শেল কমান্ড কার্যকর করার অনুমতি দেয়। এই স্ক্রিপ্টটি নিশ্চিত করে যে সমস্ত প্রাসঙ্গিক গিট ক্লিন কমান্ডগুলি চালিত হয়েছে, একটি পরিষ্কার কার্যকারী ডিরেক্টরি বজায় রাখতে এবং মসৃণ সংস্করণ নিয়ন্ত্রণ প্রক্রিয়াগুলিকে সহজতর করতে সহায়তা করে।

গিট কমান্ড ব্যবহার করে স্টেজেড পরিবর্তনগুলি বাতিল করুন

কমান্ড লাইন ইন্টারফেস (CLI)

# To discard changes in a specific file:
git checkout -- <file>

# To discard changes in all files:
git checkout -- .

# To remove untracked files:
git clean -f

# To remove untracked directories:
git clean -fd

# To remove ignored files as well:
git clean -fx

একটি গিট স্ক্রিপ্টের সাথে স্টেজে না হওয়া পরিবর্তনগুলিকে ফিরিয়ে আনা

ব্যাশ স্ক্রিপ্ট

#!/bin/bash

# Revert all unstaged changes in the repository
git checkout -- .

# Clean all untracked files and directories
git clean -fd

# Optionally, remove ignored files too
git clean -fx

echo "Unstaged changes have been discarded."

পরিবর্তন বাতিল করতে একটি পাইথন স্ক্রিপ্ট ব্যবহার করা

সাবপ্রসেস মডিউল সহ পাইথন

import subprocess

def discard_unstaged_changes():
    commands = [
        "git checkout -- .",
        "git clean -fd",
        "git clean -fx",
    ]
    for command in commands:
        subprocess.run(command, shell=True)

if __name__ == "__main__":
    discard_unstaged_changes()

Git-এ স্টেজে না হওয়া পরিবর্তনগুলি পরিচালনার জন্য অতিরিক্ত কৌশল

আরেকটি দরকারী গিট বৈশিষ্ট্য হল git stash কমান্ড, যা অস্থায়ীভাবে আপনার কাজের ডিরেক্টরিতে করা পরিবর্তনগুলিকে তাক করে রাখে যাতে আপনি পরিবর্তনগুলি না করেই অন্য কিছুতে কাজ করতে পারেন। আপনি পরে লুকিয়ে রাখা পরিবর্তনগুলি পুনরায় প্রয়োগ করতে পারেন git stash apply অথবা দিয়ে তাদের সরান git stash drop. এটি বিশেষভাবে সুবিধাজনক যখন আপনাকে দ্রুত শাখা পরিবর্তন করতে হবে কিন্তু কাজ অসমাপ্ত আছে।

আরেকটি সহায়ক আদেশ হল git reset, যা সূচীতে পরিবর্তনকে পূর্বাবস্থায় ফিরিয়ে আনে। ব্যবহার git reset HEAD <file>, আপনি আপনার কাজের ডিরেক্টরির পরিবর্তনগুলি রেখে একটি ফাইল আনস্টেজ করতে পারেন। এই কমান্ডটি পরিবর্তন না হারিয়ে আপনি যা করার পরিকল্পনা করছেন তা সামঞ্জস্য করতে সহায়তা করে। উভয় git stash এবং git reset গিট-এ আপনার কাজের ডিরেক্টরি এবং স্টেজিং এরিয়া পরিচালনার উপর আরও নমনীয়তা এবং নিয়ন্ত্রণ প্রদান করুন।

Git এ স্টেজেড পরিবর্তনগুলি বাতিল করার বিষয়ে সাধারণ প্রশ্ন

  1. আমি কীভাবে গিট-এ সমস্ত অমনোযোগী পরিবর্তনগুলি বাতিল করব?
  2. তুমি ব্যবহার করতে পার git checkout -- . আপনার ওয়ার্কিং ডাইরেক্টরীতে স্টেজ না করা সমস্ত পরিবর্তন প্রত্যাবর্তন করতে।
  3. কি করে git clean -fd করতে?
  4. git clean -fd আপনার কাজের ডিরেক্টরি থেকে আনট্র্যাক করা ফাইল এবং ডিরেক্টরিগুলি সরিয়ে দেয়।
  5. প্রতিশ্রুতি ছাড়াই আমি কীভাবে সাময়িকভাবে আমার পরিবর্তনগুলি সংরক্ষণ করতে পারি?
  6. ব্যবহার করুন git stash সাময়িকভাবে আপনার পরিবর্তন সংরক্ষণ করতে. আপনি পরে তাদের সঙ্গে পুনরায় আবেদন করতে পারেন git stash apply.
  7. আমি কিভাবে আমার কাজের ডিরেক্টরি থেকে আনট্র্যাক করা ফাইলগুলি সরাতে পারি?
  8. তুমি ব্যবহার করতে পার git clean -f আনট্র্যাকড ফাইল অপসারণ করতে.
  9. উদ্দেশ্য কি git reset?
  10. git reset সূচীতে পরিবর্তনগুলি পূর্বাবস্থায় ফিরিয়ে আনে, যা আপনাকে আপনার কার্যকারী ডিরেক্টরি পরিবর্তন না করেই পরিবর্তনগুলি আনস্টেজ করার অনুমতি দেয়।
  11. আমি কিভাবে একটি নির্দিষ্ট ফাইলে পরিবর্তন বাতিল করব?
  12. ব্যবহার করুন git checkout -- <file> একটি নির্দিষ্ট ফাইলে পরিবর্তন বাতিল করতে।
  13. আনট্র্যাক করা ফাইলগুলির সাথে আমি কীভাবে উপেক্ষা করা ফাইলগুলি সরিয়ে ফেলব?
  14. ব্যবহার করুন git clean -fx আপনার ওয়ার্কিং ডিরেক্টরি থেকে উপেক্ষা করা এবং আনট্র্যাক করা ফাইল উভয়ই অপসারণ করতে।
  15. আমি কি পূর্বাবস্থায় ফিরতে পারি git clean অপারেশন?
  16. একদা git clean কার্যকর করা হয়, সরানো ফাইলগুলিকে পুনরুদ্ধার করা যায় না কারণ সেগুলি স্থায়ীভাবে মুছে ফেলা হয়।

গিট-এ স্টেজেড পরিবর্তনগুলি পরিচালনার বিষয়ে চূড়ান্ত চিন্তাভাবনা

আপনার প্রজেক্টের অখণ্ডতা রক্ষার জন্য Git-এ কার্যকরীভাবে অমনোযোগী পরিবর্তনগুলি বাতিল করা অত্যাবশ্যক। আদেশ মত git checkout, git clean, এবং git stash আপনার কর্মপ্রবাহে নমনীয়তা প্রদান করে পরিবর্তনগুলি প্রত্যাবর্তন বা অস্থায়ীভাবে সংরক্ষণ করার জন্য বিভিন্ন পদ্ধতি অফার করে। এই কমান্ডগুলি আয়ত্ত করা আপনাকে একটি পরিষ্কার কার্যকারী ডিরেক্টরি বজায় রাখতে সহায়তা করে এবং অবাঞ্ছিত পরিবর্তনগুলিকে প্রতিশ্রুতিবদ্ধ হতে বাধা দেয়। এই সরঞ্জামগুলি ব্যবহার করে, আপনি আরও ভাল সংস্করণ নিয়ন্ত্রণ এবং প্রকল্প পরিচালনার অনুশীলনগুলি নিশ্চিত করতে পারেন।