আপনার কাছে ফিরে যেতে এবং নির্বাচন করতে কয়টি কমিট দরকার? যদি এটি মাত্র একটি হয়, সম্ভবত এর ঠিক আগে একটি শাখা নিন, আপনি যে ফাইলটি প্রতিশ্রুত করেছেন সেটিকে চেকআউট করুন এবং তারপরে git add -pআপনি এটি কীভাবে চান তা যুক্ত করতে ব্যবহার করুন। তারপরে আপনি যেখানে ছিলেন সেখানে ফিরে যেতে পারেন এবং আপনার অস্থায়ী শাখা থেকে ফাইলটি চেকআউট করতে পারেন।
এটাই:
git checkout -b temp troublesome-commit^
git checkout troublesome-commit -- path/to/file
git add -p path/to/file
git commit -c troublesome-commit
git checkout @{-1}
git checkout temp -- path/to/file
git commit path/to/file
git branch -D temp
অন্যান্য বিকল্পগুলির মধ্যে রয়েছে ফিরে যাওয়া এবং সাথে প্রতিশ্রুতি সম্পাদনা করা git rebase -i(কমিট হিসাবে চিহ্নিত করা edit, তারপরে একটি কাজ git reset HEAD^করা এবং শেলের পিছনে ফেলে দেওয়া হলে কমিট পুনরায় করা)।
আপনার যে পরিবর্তনগুলি থেকে বাছাই করা দরকার তা যদি কমিটের একটি সিরিজ জুড়ে ছড়িয়ে পড়ে তবে প্যাচগুলি (বা এই সমস্তটি জুড়ে একটি প্যাচ) হিসাবে বের করে নেওয়া এবং প্যাচটি হাতে সম্পাদনা করে আপনি যে পরিবর্তনগুলি রাখতে চান তা সম্পাদনা করা ভাল, এবং অবশিষ্টাংশ খাওয়ানো git apply --reverse।