পথে uncommitted পরিবর্তন থাকা অবস্থায় branch switch করা একটা common সমস্যা — git stash সাময়িকভাবে সেই পরিবর্তনগুলো commit না করেই তাক তুলে রাখে, যাতে একটা branch switch পরিষ্কারভাবে ঘটতে পারে।
git status
# modified: index.html (not staged)
git stash
# Saved working directory and index state WIP on main: a1b2c3d Add README
git status
# nothing to commit, working tree cleangit stash pop
# সবচেয়ে সাম্প্রতিক stash ফিরিয়ে আনে আর stash list থেকে সরায়# এটা ফিরিয়ে আনুন কিন্তু stash entry-ও রাখুন, অন্য কোথাও apply করার জন্য
git stash applygit stash list
# stash@{0}: WIP on main: a1b2c3d Add README
# stash@{1}: WIP on feature-login: e5f6g7h Add form
git stash apply stash@{1} # শুধু সবচেয়ে সাম্প্রতিকটা না, একটা নির্দিষ্টটা apply করুনgit stash push -m "Half-finished login validation"git stash drop stash@{0}
# প্রতিটা stash entry বাতিল করুন
git stash clearক্লাসিক use case
একটা সাধারণ আসল ব্যবহার: একটা পরিবর্তনের মাঝপথে, main-এ এখনই একটা জরুরি bug ঠিক করা দরকার। git stash, main-এ switch, bug ঠিক করুন, ফিরে switch, git stash pop — অর্ধেক-শেষ কাজ ঠিক যেখানে ছাড়া হয়েছিল সেখান থেকে আবার শুরু হয়।