Github
গিটের (Git) আরও কিছু অ্যাডভান্সড এবং খুব কাজের কমান্ড
গিটের (Git) আরও কিছু অ্যাডভান্সড এবং খুব কাজের কমান্ড রয়েছে, যেগুলো প্রজেক্টের জটিল সমস্যা সমাধান বা ট্রাবলশুটিংয়ের সময় কাজে লাগে। নিচে সেগুলো আলাদা লাইনে বাংলা কমেন্টসহ দেওয়া হলো:
› 🔀 ১. রিবেস ও চেরি-পিক (Rebase & Cherry-Pick)
# মেইন ব্রাঞ্চের লেটেস্ট কোড বর্তমান ব্রাঞ্চের নিচে এনে হিস্ট্রি সোজা করা
git rebase main
# কোনো কারণে রিবেসে কনফ্লিক্ট হলে সমাধান করে রিবেস চালু রাখা
git rebase --continue
# রিবেস প্রসেসটি বাতিল করে আগের অবস্থায় ফিরে যাওয়া
git rebase --abort
# অন্য কোনো ব্রাঞ্চের নির্দিষ্ট মাত্র একটি কমিট বর্তমান ব্রাঞ্চে নিয়ে আসা
git cherry-pick commit-id
› 🏷️ ২. ট্যাগিং ও রিলিজ (Tagging & Release)
# প্রজেক্টের ভার্সন প্রকাশের জন্য লাইটওয়েট ট্যাগ তৈরি করা
git tag v1.0.0
# ডেসক্রিপশনসহ অ্যানোটেশন ট্যাগ তৈরি করা
git tag -a v1.0.0 -m "Release Version 1.0.0"
# তৈরি করা সব ট্যাগের লিস্ট দেখা
git tag
# তৈরি করা ট্যাগ গিটহাবে পুশ করা
git push origin v1.0.0
# একসাথে সব স্থানীয় ট্যাগ গিটহাবে আপলোড করা
git push origin --tags
› 🔍 ৩. ক্লিনআপ ও ট্রাবলশুটিং (Cleanup & Debugging)
# আনট্র্যাকড (নতুন তৈরি হওয়া) সব অদরকারি ফাইল প্রজেক্ট থেকে মুছে ফেলা
git clean -fd
# প্রজেক্টের কোনো বাগ (Bug) কোডের কোন কমিটে প্রথম এসেছিল তা টেস্ট করে খুঁজে বের করা
git bisect start
# যে ফাইলের কোন লাইন কে বা কখন কোড করেছে তা ইউজারসহ দেখা
git blame filename
# গিট হেড (HEAD) সম্পর্কিত আপনার শেষ সব মুভমেন্টের হিস্ট্রি দেখা (ভুল করে ফাইল ডিলিট করলে উদ্ধারের জন্য)
git reflog
› 🔗 ৪. সাবমডিউল ও অ্যাডভান্সড লিঙ্ক (Submodules & Advanced)
# অন্য একটি গিট রিপোজিটরিকে এই প্রজেক্টের সাবমডিউল হিসেবে যুক্ত করা
git submodule add https://github.com/username/repository.git path/to/folder
# প্রজেক্ট ক্লোন করার পর তার সাথে থাকা সাবমডিউলগুলো একসাথে আপডেট ও লোড করা
git submodule update --init --recursive
# গিটহাব রিমোট ইউআরএল পরিবর্তন করা (যদি রিপোজিটরির লিংক বদল হয়)
git remote set-url origin https://github.com/username/new-repository.git
› আপনার Git-এর ইন্টারনাল .git/index ফাইলটি নষ্ট (corrupt) হয়ে গেছে। এটি মুছে ফেলে নতুন করে রিবিল্ড করলেই সমস্যাটি সমাধান হয়ে যাবে। PowerShell-এ নিচের কমান্ডগুলো ক্রমানুসারে চালান: ১. করাপ্ট হওয়া ইনডেক্স ফাইলটি ডিলিট করুন
Remove-Item -Force .git\index
› (যদি Command Prompt বা সাধারণ bash ব্যবহার করেন, তবে rm .git/index বা del .git\index) ২. ইনডেক্স রিবিল্ড করুন এবং রিমোটের কোড দিয়ে লোকাল ওভাররাইট করুন
git reset
git fetch origin
git reset --hard origin/main
git clean -fd
› নোট: আপনার ডিফল্ট ব্রাঞ্চের নাম যদি main না হয়ে master হয়, তবে origin/main এর জায়গায় origin/master লিখবেন।
# ১. রিমোটের লেটেস্ট কোড ফেচ করুন
git fetch origin
# ২. লোকাল ব্রাঞ্চের সব চেঞ্জ মুছে রিমোটের সাথে হুবহু সমান করুন
git reset --hard origin/main
# ৩. কোনো আনট্র্যাকড (Untracked) ফাইল বা ফোল্ডার থাকলে তা ডিলিট করুন
git clean -fd