Git ব্যবহার করে আপনার প্রজেক্টে পরিবর্তন ট্র্যাক করার সময়, অনেক কিছু ঘটতে পারে যা এরর করান। আপনি যখন এক ব্রাঞ্চ থেকে অন্য ব্রাঞ্চে যাবেন, তবে আপনি এই এরর পেতে পারেন:
error: the following untracked working tree files would be overwritten by checkout [ List of Files Here ] Please, commit your changes or stash them before you can switch branches.
এই এররটি ঘটে যখন আপনার করেন্ট ব্রাঞ্চে যেসব ফাইল রয়েছে সেগুলোর পরিবর্তন আপনি যে ব্রাঞ্চে কাজ করছেন সেটিও আছে। ফিক্সটি খুব সহজ: এররের লাস্ট স্টেটমেন্টে যা বলা হয়েছে সেটি ঠিক করুন।
পরিবর্তন কমিট করুন
পরিবর্তন কমিট করতে, আপনাকে নিম্নলিখিত ইনপুট দিতে হবে:
git commit -m "Insert meaningful git commit message here"
এটি আপনার ওয়ার্কিং ট্রি ক্লিন করবে। এবং তারপর git checkout ব্যবহার করুন ব্রাঞ্চ চেঞ্জ করতে।
পরিবর্তন স্ট্যাশ করুন
আপনার পরিবর্তন সংরক্ষণ করতে git stash ব্যবহার করুন যতক্ষণ না আপনি কমিট করার জন্য রেডি। Git stash আপনার পরিবর্তন সংরক্ষণ করবে, কিন্তু কোনো কমিট বা ব্রাঞ্চের সাথে এসোসিয়েট করবে না যতক্ষণ না আপনি রেডি হন।
স্ট্যাশ ব্যবহার করতে, আপনার লোকাল রিপোজিটরিতে নিম্নলিখিত করুন:
git stash push git checkout--- do whatever you have to do on --- git checkout git stash pop
আপনি যদি স্ট্যাক কীভাবে কাজ করে সেটি জানেন, তবে এটি স্ট্রেইটফরওয়ার্ড। রিমাইন্ডার হিসেবে, একটি স্ট্যাক হলো লাস্ট-ইন-ফার্স্ট-আউট (LIFO) ডেটা স্ট্রাকচার। লেটেস্ট স্ট্যাশ লিস্টের শেষে যোগ হয়। আপনি যখন রেডি হবেন তখন পপ অফ করুন।
ডিফল্ট বিহেভিয়র হলো স্ট্যাশ লিস্টের লাস্ট এলিমেন্ট পপ অফ করা এবং সম্পূর্ণরূপে রিমুভ করা। আপনি যদি স্ট্যাশ রিমুভ না করে শুধু ব্যবহার করতে চান, তবে আপনি git stash apply দিয়ে এটি করতে পারেন।
উপসংহার
এই আর্টিকেলে, আমরা ওয়ার্কিং ট্রি ফাইল এররের দুটি সমাধান দেখেছি যা চেকআউট-এ ওভাররাইট হয়ে যেত। অধিকাংশ সময়, আমরা গিট এরর যা বলে সেটি করলেই সমাধান হয়। এই উদাহরণে, আমরা পরিবর্তন কমিট করতে পারি বা স্ট্যাশ করতে পারি ওয়ার্কিং ট্রি ক্লিয়ার করতে ব্রাঞ্চ চেঞ্জ করার জন্য। আপনি কোনটি করবেন সেটি আপনার টিমের গিট ওয়ার্কফ্লোয়ের ওপর নির্ভর করে। আপনি যদি অনিশ্চিত হন কোনটি করবেন, তবে সাহায্য চান। হ্যাপি হ্যাকিং!