GitAdvanced
reflog, bisect, blame দিয়ে বাগ খোঁজা
git reflog, bisect ও log বিকল্প দিয়ে সমস্যা সমাধান — বাংলায়।
13টি অংশবাংলা ভাষায়
git reflog — সবকিছুর স্মৃতি
reflog আপনার repository-র সাম্প্রতিক সব HEAD আন্দোলনের তালিকা — এমনকি যেসব commit বর্তমান branch থেকে বিচ্ছিন্ন হয়ে গেছে। --hard এর পরেও এখান থেকে rescued করা যায়।
git reflog
# 8f3a2b1 (HEAD -> main) commit done
# 3d4e5f6 reset: moving to HEAD~2
# ...হারানো commit পুনরুদ্ধার
git reflog # hash খুঁজুন
git reset --hard 8f3a2b1 # আবার যাওgit bisect — auto খোঁজা
কোন commit থেকে বাগ শুরু হয়েছে তা ২টির-শক্তি গতিতে খুঁজে বের করতে bisect ব্যবহার হয়।
git bisect start
git bisect bad HEAD # এটা খারাপ
git bisect good v1.2.0 # এটা ভালো ছিল
# bisect মাঝের commit-এ যায়; আপনি পরীক্ষা করে:
git bisect good / bad
# শেষে খারাপ commit-টি শেনোনো হয়
git bisect resetGit blame দিয়ে সন্দেহ
git blame src/app.js
git blame -L 40,60 src/app.js # নির্দিষ্ট লাইন rangeকিছু সহায়ক লগ ট্রিক
git log --oneline --graph --decorate
git log --all --oneline --source
git show-branch --all
git fsck --lost-found # orphan commit খুঁজেমনে রাখুন
রিস্টোর করার আগে শান্তভাবে git status ও reflog দেখুন — বেশিরভাগ Git কমান্ডের পরে সত্যিই recoverable, কারণ reflog পুরো ইতিহাসের স্মৃতি রাখে।
শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।