"রিসেট" স্থানীয়ভাবে পরিবর্তনগুলি পূর্বাবস্থায় ফেলার উপায়। প্রতিশ্রুতিবদ্ধ হওয়ার সময়, আপনি প্রথমে " গিট অ্যাড " - এর নামে পরিচিত "স্টেজেজিং" এর সাথে অন্তর্ভুক্ত করতে পরিবর্তনগুলি নির্বাচন করুন । এবং একবার পরিবর্তনগুলি মঞ্চস্থ করার পরে আপনি তাদের " গিট কমিট " করুন।
মঞ্চ বা প্রতিশ্রুতিবদ্ধতা থেকে ব্যাক আউট করতে, আপনি হেডকে "রিসেট" করেন। একটি শাখায়, হেড হ'ল একটি গিট ভেরিয়েবল যা সাম্প্রতিক প্রতিশ্রুতিতে নির্দেশ করে। সুতরাং আপনি যদি মঞ্চস্থ হন তবে প্রতিশ্রুতিবদ্ধ না হন, আপনি " গিট পুনরায় সেট করুন ।" যা মঞ্চ থেকে পরিবর্তন নিয়ে বর্তমান হেডের ব্যাক আপ করে। এটা তোলে এর জন্য সাধারণভাবে সংক্ষেপে " Git রিসেট মস্তক ~ 0 --mixed ।"
যদি আপনি ইতিমধ্যে প্রতিশ্রুতিবদ্ধ থাকেন তবে শিরোনাম ইতিমধ্যে উন্নত হয়ে গেছে, সুতরাং আপনার পূর্ববর্তী প্রতিশ্রুতিতে ব্যাক আপ নেওয়া দরকার। এখানে আপনি " HEAD ~ 1 পুনরায় সেট করুন " বা " পুনরায় সেট করুন HEAD ^ 1 " বা " পুনরায় সেট করুন HEAD ~ " বা " পুনরায় সেট করুন HEAD ^ " - সমস্ত রেফারেন্স হেড বিয়োগকে এক।
এর চেয়ে ভাল প্রতীক কোনটি, ~ বা ^? ~ টিলডিকে একটি একক ধারা হিসাবে ভাবুন - যখন প্রতিটি প্রতিশ্রুতির একক পিতা বা মাতা থাকে এবং এটি কেবল ধারাবাহিকভাবে পরিবর্তনের একটি সিরিজ হয়, তখন আপনি টিলড ব্যবহার করে স্ট্রিমটির ব্যাক আপ নিতে পারেন, হেড ~ 1, হেড ~ 2, হেড হিসাবে ~ 3, পিতা বা মাতা, পিতামহ, মহান-পিতামহ, ইত্যাদি জন্য (টেকনিক্যালি এটা খোঁজার এর প্রথম পূর্ববর্তী প্রজন্মে পিতা বা মাতা)।
যখন একত্রীকরণ আছে, তখন কমিটদের একাধিক পিতামাতারা থাকে। ^ ক্যারেটটি খেলায় আসলে - আপনি মনে করতে পারেন কারণ এটি শাখাগুলি একত্রিত করে দেখায়। ক্যারেটটি ব্যবহার করে, হেড ^ 1 হ'ল প্রথম পিতা-মাতা এবং হেড ^ 2 হবেন একক প্রতিশ্রুতির দ্বিতীয় পিতা - মাতা এবং পিতা for
সুতরাং আপনি যদি কেবলমাত্র একক-পিতা-মাতার প্রতিশ্রুতিতে একটি হপ পিছনে ফিরে যাচ্ছেন, তবে শিরোনাম ~ এবং শিরোনাম equivalent সমান - আপনি যে কোনও একটি ব্যবহার করতে পারেন।
এছাড়াও, রিসেট করা যাবে --soft , --mixed , অথবা --hard । একটি সফট রিসেট কেবল কমিটিকে ব্যাক করে দেয় - এটি হেডকে পুনরায় সেট করে, তবে এটি পূর্বের প্রতিশ্রুতি থেকে ফাইলগুলি চেক করে না, সুতরাং কার্যকরী ডিরেক্টরিতে সমস্ত পরিবর্তনগুলি সংরক্ষিত আছে। এবং - সফ্ট রিসেট এমনকি মঞ্চটি সাফ করে না ( সূচক হিসাবেও পরিচিত ), সুতরাং মঞ্চ করা সমস্ত ফাইল এখনও মঞ্চে থাকবে।
একটি - মিক্সড রিসেট (ডিফল্ট) পূর্ববর্তী প্রতিশ্রুতি থেকে ফাইলগুলিও পরীক্ষা করে না, সুতরাং সমস্ত পরিবর্তনগুলি সংরক্ষণ করা হয়, তবে পর্যায়টি সাফ হয়ে যায়। এজন্য একটি সাধারণ " গিট রিসেট হেড " মঞ্চটি সরিয়ে ফেলবে।
এ --হার্ড রিসেটটি হেডের পুনরায় সেট করে, এবং এটি মঞ্চটি সাফ করে, তবে এটি পূর্বের প্রতিশ্রুতি থেকে সমস্ত ফাইলও পরীক্ষা করে এবং তাই এটি কোনও পরিবর্তনকে ওভাররাইট করে।
যদি আপনি প্রতিশ্রুতিটি একটি দূরবর্তী সংগ্রহস্থলের দিকে ঠেলে দেন তবে রিসেটটি এত ভাল কাজ করে না। আপনি স্থানীয়ভাবে পুনরায় সেট করতে পারেন তবে আপনি যখন রিমোটে ধাক্কা দেওয়ার চেষ্টা করবেন তখন গিটটি দেখতে পাবে যে আপনার স্থানীয় হেড রিমোট শাখায় হেডের পিছনে রয়েছে এবং চাপ দিতে অস্বীকার করবে। আপনি চাপটি চাপ দিতে সক্ষম হতে পারেন, তবে গিট সত্যিই এটি করা পছন্দ করে না।
অন্যথা, আপনি করতে পারেন লুকিয়ে আপনার পরিবর্তনগুলি আপনি তাদের রাখা, চান তাহলে খুঁজে বার করো আগের কমিট, পরিবর্তন আন-লুকিয়ে, মঞ্চ তাদের তৈরি একটি নতুন কমিট, এবং তারপর যে ধাক্কা।