সোর্সট্রি - আনপশড কমিটগুলি পূর্বাবস্থায় ফেরান


208

আমি গিটার-সংগ্রহস্থলের জন্য উইন্ডোজের জন্য সোর্সট্রি ব্যবহার করছি এবং একটি চাপবিহীন প্রতিশ্রুতি পূর্বাবস্থায় ফিরিয়ে আনতে চাই।

এটা কি সম্ভব? যদি আমি "রিভার্ট কমিট" করি তবে এটি একটি দ্বিতীয় প্রতিশ্রুতি তৈরি করে যা প্রথম প্রতিশ্রুতি উল্টে দেয়, তবে আমি চাই না যে প্রথম প্রতিশ্রুতি আমার উত্স নিয়ন্ত্রণের মধ্যে প্রদর্শিত হবে।

আমি আমার স্থানীয় সংগ্রহস্থলটি মুছতে এবং আমার স্থানীয় প্রতিশ্রুতি ব্যতীত আবার টানতে পারি, তবে অন্য কোনও উপায় থাকতে পারে?


আমি স্ক্রিনশট সহ একটি বিস্তারিত নিবন্ধ লিখেছি। আশা করা যায় যে এটি সাহায্য করবে: attosol.com/undo-in-git- using
রাহুল সোনি

উত্তর:


345
  1. আপনি যে প্রতিশ্রুতি পুনরায় সেট করতে চান তার ডান ক্লিক করুন (আপনি মুছতে পছন্দ করেন না!)
  2. "এই প্রতিশ্রুতিতে মাস্টার পুনরায় সেট করুন" নির্বাচন করুন
  3. "নরম" পুনরায় সেট করুন নির্বাচন করুন।

একটি সফ্ট রিসেট আপনার স্থানীয় পরিবর্তনগুলি রাখবে।

সূত্র: https://answers.atlassian.com/questions/153791/how-should-i-remove-push-commit-from-sourcetree

সম্পাদন করা

সম্পর্কে git revert: এই আদেশটি একটি নতুন প্রতিশ্রুতি তৈরি করে যা অন্যান্য প্রতিশ্রুতিগুলি পূর্বাবস্থায় ফিরিয়ে আনবে। উদাহরণস্বরূপ যদি আপনার কাছে কোনও প্রতিশ্রুতি থাকে যা একটি নতুন ফাইল যুক্ত করে, git revertএকটি প্রতিশ্রুতি তৈরি করতে ব্যবহৃত হতে পারে যা নতুন ফাইলটি মুছবে।

একটি সফট রিসেট প্রয়োগ সম্পর্কে: ধরে নিন যে আপনার ( ) এর সাথে প্রতিশ্রুতি Aআছে এবং আপনি শেষ প্রতিশ্রুতি ( ) মুছে ফেলতে চান । তারপরে আপনি প্রতিশ্রুতিবদ্ধ করতে একটি সফট রিসেট করতে পারেন । একটি সফট রিসেট কমিট দিয়ে গিট থেকে মুছে ফেলা হবে তবে স্থানীয় পরিবর্তনগুলি রাখা হবে। গিট রিসেট ডকুমেন্টেশনে আরও উদাহরণ রয়েছে ।EA---B---C---D---EEDE


34
বা আপনি যদি কোনও শাখায় কাজ করছেন - "এই প্রতিশ্রুতিতে বর্তমান শাখাটি পুনরায় সেট করুন"
টম অগার

5
আমি এই ইউআই ব্যাখ্যাগুলি এতটুকু বুঝতে পারি না ... বর্তমান শাখাটিকে এই প্রতিশ্রুতিতে পুনরায় সেট করুন এতটা শোনায় না যে এটি প্রতিশ্রুতি মুছে ফেলবে। এবং এটি শেষ করে যা আপনি বেশি প্রত্যাশা করবেন। এটি আমার কাজের অনুলিপিটি মুছে ফেলার পরিবর্তে প্রতিশ্রুতিতে পুনরায় সেট করে।
মিঃফক্স

আমি @ মিঃফক্সের সাথে একমত আমি এই প্রতিশ্রুতিটি করার পরে যা চাই না তা এখনও গাছটিতে প্রদর্শিত হয়।
টিম্ম্ম্ম

@ টিমিএমএম: নতুন ব্যাখ্যাটি কী সাহায্য করে?
নাইটলিপ

আসলে আমি বুঝতে পেরেছি যে আমি ইতিমধ্যে আমার প্রতিশ্রুতি গিথুবকে চাপিয়ে দিয়েছি। আমি একটি নিবন্ধ পেয়েছি যা "ইতিহাস পুনর্লিখন" কীভাবে তা ব্যাখ্যা করে তবে মনে হয় এটির চেয়ে মূল্য বেশি ঝামেলা!
টিম্ম্ম্ম

46

আপনি যে লগ এন্ট্রিটিতে ফিরে যেতে চান তা যদি আপনি চয়ন করেন তবে আপনি "এই প্রতিশ্রুতিতে পুনরায় সেট করুন" এ ক্লিক করতে পারেন। যদি আপনি বিপরীত প্রতিশ্রুতি পরিবর্তনগুলি না ঠেকেন তবেই এই বিকল্পটি ব্যবহার করুন। যদি আপনি পরিবর্তনগুলি হারাতে উদ্বিগ্ন হন তবে আপনি নরম মোডটি ব্যবহার করতে পারেন যা আপত্তিহীন পরিবর্তনের একটি সেট ছেড়ে যাবে (আপনি কী সবেমাত্র পরিবর্তন করেছেন)। মিশ্র ব্যবহার করে ওয়ার্কিং কপিটিকে পুনরায় সেট করা হয় তবে সেগুলি পরিবর্তনগুলি রাখে এবং একটি কঠোর পরিবর্তনগুলি সম্পূর্ণরূপে মুক্তি থেকে মুক্তি পাবে। এখানে কিছু স্ক্রিনশট রয়েছে:

এখানে চিত্র বর্ণনা লিখুন


3
আপনি যদি এখনও দেখতে পান যে কোনও পুশ দেখানো আইকনটি আপনার পূর্ববর্তী প্রতিশ্রুতি থেকে পাওয়া যায় (যা আপনি কেবল মুছে ফেলেছিলেন), টানুন এবং সোর্সট্রি ইউআই আপডেট করে বলে মনে হচ্ছে।
ক্রিস্টোকিভি

6

আপনি যদি কোনও প্রতিশ্রুতি মুছতে চান তবে একটি ইন্টারেক্টিভ রিবেসের অংশ হিসাবে এটি করতে পারেন। তবে সাবধানতার সাথে এটি করুন, যাতে আপনার রেপোতে গোলমাল না হয়।

সোর্সট্রি তে:

  1. আপনি মুছে ফেলতে চান তার চেয়ে পুরানো একটি প্রতিশ্রুতিতে ডান ক্লিক করুন এবং " এক্সএক্সএক্সএক্সএক্সের শিশুদের ইন্টারেক্টিভভাবে রিবাস করুন ... " চয়ন করুন " আপনি যেটি ক্লিক করেন সেটি হ'ল আপনার "বেস" এবং আপনি তার পরে তৈরি প্রতিটি প্রতিশ্রুতিতে পরিবর্তন আনতে পারেন।
  2. নতুন উইন্ডোতে, আপনি যেতে চান এমন প্রতিশ্রুতি নির্বাচন করুন এবং নীচে " মুছুন " -বাটন টিপুন , বা প্রতিশ্রুতিটিতে ডান ক্লিক করুন এবং "প্রতিশ্রুতি মুছুন " ক্লিক করুন ।
  3. " ওকে " ক্লিক করুন (বা আপনি বাতিল করতে চাইলে " বাতিল করুন ")।

সোর্সট্রি-তে ইন্টারেক্টিভ রিবেসিং সম্পর্কিত আরও তথ্যের জন্য এই আটলসিয়ান ব্লগ পোস্টটি দেখুন।


এটি আমি উত্তরটি খুঁজছিলাম, প্রয়োজন হিসাবে ঠিক কাজ করেছিল।
ক্লিফ বার্টন

0

আপনি যদি অন্য কোনও শাখায় থাকেন তবে আপনাকে মুছে ফেলতে চান এমন প্রতিশ্রুতিগুলির জন্য প্রথমে আপনার "এই প্রতিশ্রুতি পরীক্ষা করে দেখুন" এবং তারপরে কেবল "পূর্ববর্তী রাইট কমিট" চয়ন করে "বর্তমান শাখাটি এই প্রতিশ্রুতিতে পুনরায় সেট করুন" কাজ করবে।

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