গিটে সর্বশেষ প্রতিশ্রুতি দেওয়ার পরে সমস্ত পরিবর্তন পুনরায় সেট করুন


324

যুক্ত প্রতিবেদনগুলি মুছে ফেলা, পরিবর্তিত ফাইলগুলি পুনরায় সেট করা, এবং মুছে ফেলা ফাইলগুলিকে যুক্ত করা সহ আমি সর্বশেষ প্রতিশ্রুতি দেওয়ার পরে আমার ডিরেক্টরিতে করা প্রতিটি পরিবর্তন কীভাবে পূর্বাবস্থায় ফিরিয়ে আনতে পারি ?



8
@ নওফাল ডুপ্লিকেট হতে পারে তবে 'গিট রিপোজিটরি কীভাবে ফিরিয়ে আনতে হবে' তার চেয়ে 'অনুসন্ধানের পরে সমস্ত পরিবর্তন পুনরায় সেট করুন' গুগলে অনুসন্ধান করা শব্দের সাথে আরও অনুসন্ধানের মানদণ্ডের সাথে মেলে। কমপক্ষে আমার মতো লোকদের যাদের ইংরেজি তাদের মাতৃভাষা হিসাবে নেই: d
শিরিশ হার্ভাডে

উত্তর:


561

প্রথমে পরিবর্তনগুলি পুনরায় সেট করুন

git reset HEAD --hard

তারপরে যাচাই না করা সমস্ত কিছু পরিষ্কার করুন। আপনি যদি ফাইলগুলি ট্র্যাক না করে রাখতে চান তবে .gitignoreএই আদেশটি সম্পর্কে সতর্কতা অবলম্বন করুন।

git clean -fd

7
@ অ্যাডাম: আপনি মাঝে মাঝে -xবিকল্পটিও চাইতে পারেন git clean, যা এটি উপেক্ষা করা ফাইলগুলিও সরানোর জন্য নির্দেশ দেয়।
ক্যাসাবেল

31
আপনি যদি .gitignore এর কারণে ট্র্যাক না করা ফাইলগুলি রাখতে চান তবে git clean -fdকমান্ডটি সাবধান করুন ।
বিটসোফ্লোগিক

3
@ লাইভিনিয়ারিস: এটি অন্য উপায়ে git clean -fdউপেক্ষা করা ফাইলগুলি মুছবে না। -xইচ্ছাশক্তি.
রবার্ট সিমার

5
@ রবার্টসিমার আসলে, এটি পারে! আপনার যদি কোনও ফোল্ডার উপেক্ষা করা ফাইলগুলি সম্পূর্ণরূপে রচিত থাকে তবে তা এই ফোল্ডারগুলিকে উপেক্ষা করা ফাইলগুলি মুছে ফেলবে। এখানে থাকা মতো একটি .gitignore ফাইল বিবেচনা করুন: stackoverflow.com/q/25554504/456645 । এই উদাহরণে, ধরে নিন কিছু ফোল্ডারে কোনও পিএইচপি ফাইল নেই। git clean -fdএই ফোল্ডারগুলি এবং অপ্রকাশিত ফাইলগুলি মুছবে। গিট সংস্করণ 1.9.1 এর সাথে পরীক্ষিত
বিটসোফ্লোগিক

3
তবে দ্বিতীয়টি কেন 'ক্লিন আউট' দরকার?
শিরীশ হারওয়াদে

71

যুক্ত প্রতিবেদনগুলি মুছে ফেলা, পরিবর্তিত ফাইলগুলি পুনরায় সেট করা, এবং মুছে ফেলা ফাইলগুলিকে যুক্ত করা সহ আমি সর্বশেষ প্রতিশ্রুতি দেওয়ার পরে আমার ডিরেক্টরিতে করা প্রতিটি পরিবর্তন কীভাবে পূর্বাবস্থায় ফিরিয়ে আনতে পারি ?

  1. আপনি এর সাহায্যে ট্র্যাক করা ফাইলগুলিতে পরিবর্তনগুলি পূর্বাবস্থায় ফিরিয়ে আনতে পারেন :

    git reset HEAD --hard
    
  2. আপনি এইগুলি সহ অপ্রকাশিত ফাইলগুলি সরিয়ে ফেলতে পারেন :

    git clean -f
    
  3. আপনি এইগুলি সহ অচিহ্নযুক্ত ফাইল এবং ডিরেক্টরিগুলি মুছতে পারেন :

    git clean -fd
    

    তবে আপনি অনক্রাতীত ফাইলগুলিতে পরিবর্তনটিকে পূর্বাবস্থায় ফেরাতে পারবেন না

  4. আপনি অবহেলিত এবং চিহ্নবিহীন ফাইল এবং ডিরেক্টরিগুলি সরাতে পারেন

    git clean -fdx
    

    তবে আপনি উপেক্ষা করা ফাইলগুলিতে পরিবর্তন পূর্বাবস্থায় ফেরাতে পারবেন না

আপনি এতে সেট clean.requireForceকরতে পারেন false:

git config --global --add clean.requireForce false

-f( --force) ব্যবহার করার সময় ব্যবহার এড়াতে git clean


2
দুর্দান্ত, আমার যা প্রয়োজন ছিল ঠিক। সমস্ত সম্পর্কিত কমান্ডের তুলনা করার জন্য ধন্যবাদ!
মার্কি

-1

দুটি কমান্ড রয়েছে যা এই পরিস্থিতিতে কাজ করবে,

রুট> গিট রিসেট - হেড ~ 1

রুট> গিট ধাক্কা -f

আরও গিট কমান্ডের জন্য এই পৃষ্ঠাটি দেখুন


1
git push -fপ্রশ্নের সাথে সম্পর্কিত নয় এবং এই
দৃশ্যে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.