আমি সবেমাত্র একটি করেছি
git commit -m "blah"
তারপরে আমি কিছু ফাইল যুক্ত করেছি, আমি কীভাবে আমার বর্তমান ফাইলগুলিতে এখনও যুক্ত / প্রতিশ্রুতিবদ্ধ না থাকা রোলব্যাক করব এবং সরিয়ে ফেলব?
আমি সবেমাত্র একটি করেছি
git commit -m "blah"
তারপরে আমি কিছু ফাইল যুক্ত করেছি, আমি কীভাবে আমার বর্তমান ফাইলগুলিতে এখনও যুক্ত / প্রতিশ্রুতিবদ্ধ না থাকা রোলব্যাক করব এবং সরিয়ে ফেলব?
উত্তর:
ক্যাভেট এমপোটর - সামনে ধ্বংসাত্মক কমান্ড।
প্রশমন - git reflog আপনার প্রয়োজন হলে আপনাকে বাঁচাতে পারে।
1) পূর্বাবস্থা স্থানীয় ফাইল পরিবর্তন এবং রাখুন আপনার শেষ কমিট
git reset --hard
2) পূর্বাবস্থা স্থানীয় ফাইল পরিবর্তন এবং REMOVE আপনার শেষ কমিট
git reset --hard HEAD^
3) রাখুন স্থানীয় ফাইল পরিবর্তন এবং REMOVE আপনার শেষ কমিট
git reset --soft HEAD^
আপনি যদি নতুন যুক্ত হওয়া সামগ্রী এবং ইতিমধ্যে মঞ্চস্থ হওয়া ফাইলগুলি মুছে ফেলতে চান (তাই সূচীতে যোগ করা) তবে আপনি ব্যবহার করুন:
git reset --hard
আপনি যদি আপনার সর্বশেষ প্রতিশ্রুতিটিও মুছে ফেলতে চান ("ব্লাহ" বার্তাটি দিয়ে থাকে) তবে ব্যবহার করা ভাল:
git reset --hard HEAD^
অচিহ্নযুক্ত ফাইলগুলি সরানোর জন্য (তাই নতুন ফাইলগুলি এখনও সূচীতে যুক্ত হয়নি) এবং ফোল্ডারগুলি ব্যবহার করে:
git clean --force -d
git reset --hard ওয়ার্কিং ডিরেক্টরিটিকে শেষ প্রতিশ্রুতিতে ফিরিয়ে আনবে এবং নতুন / পরিবর্তিত ফাইল মুছে ফেলবে।
আপনি git revert HEAD^পরের থেকে শেষের প্রতিশ্রুতিতে ফিরে যাওয়ার জন্য ব্যবহার করে প্রতিশ্রুতি প্রত্যাহার করতে পারেন। আপনি হেড instead এর পরিবর্তে আইডিটি ব্যবহার করে প্রত্যাবর্তনের প্রতিশ্রুতি নির্দিষ্ট করতে পারেন ^
আপনি যদি সর্বশেষ প্রতিশ্রুতিটি সাম্প্রতিক করতে চান তবে এটি ব্যবহার করুন:
git reset HEAD~
আমার জন্য কবজ মত কাজ।
শেষ প্রতিশ্রুতিবদ্ধ হওয়ার পরে স্থানীয় ফাইলগুলি আনডো করার একটি সহজ বোকা উপায় হ'ল এগুলি একটি নতুন শাখায় স্থাপন করা:
git branch changes
git checkout changes
git add .
git commit
এটি নতুন শাখায় পরিবর্তনগুলি ছেড়ে দেয়। এটি শেষ শাখায় ফিরে পেতে মূল শাখায় ফিরে যান:
git checkout master
মূল শাখা গোলযোগের ঝুঁকি ছাড়াই পরিবর্তনগুলি ফিরিয়ে আনতে বিভিন্ন উপায় অনুশীলনের জন্য নতুন শাখা একটি ভাল জায়গা।