git - কীভাবে হেডকে আগের জায়গায় ফিরে যেতে হবে?(বিচ্ছিন্ন মাথা) এবং পূর্বাবস্থায় ফিরে যান




git-checkout git-reset (4)

আজ, আমি ভুল করে একটি প্রতিশ্রুতিতে চেকআউট করেছি এবং এটিতে কাজ শুরু করি হেড স্টেটের বিচ্ছিন্নতার বিষয়ে কিছু অঙ্গীকার করে। তারপরে আমি কি নিম্নলিখিত কমান্ডটি ব্যবহার করে দূরবর্তী শাখায় ধাক্কা দিয়েছি

git push origin HEAD: <My-remote-branch>

তারপর

git checkout <My-remote-branch>

তারপর

git pull 

অবশেষে আমি আমার শাখায় আমার সমস্ত পরিবর্তনগুলি পেয়েছি যা আমি হেডকে আলাদা করেছিলাম

গিট হিসাবে, আমি অন্য একটি শাখায় মার্জ করে এবং তারপরে HEAD পূর্বের স্থানে পুনরায় সেট করে squash commit করার চেষ্টা করছিলাম:

git reset origin/master

তবে আমার এ থেকে বের হওয়া দরকার। কীভাবে আমি হেডকে আগের জায়গায় ফিরে যেতে পারি?

আমার যে প্রতিশ্রুতিটি নিয়ে যেতে হবে এটির আমার কাছে SHA1 23b6772 ( 23b6772 ) রয়েছে।
আমি কীভাবে এই প্রতিশ্রুতিতে ফিরে যেতে পারি?


আপনি যখন কমান্ড git checkout commit_id তারপরে হেড 13ca5593d(say commit-id) থেকে বিচ্ছিন্ন 13ca5593d(say commit-id) এবং শাখাটি আর উপলভ্য থাকবে।

পূর্ববর্তী স্থানে ফিরে যান কমান্ডটি পদক্ষেপ অনুসারে চালিত করুন- ক) গিট পুলের উত্স শাখা_নাম (মাস্টার বলুন) খ) গিট চেকআউট শাখা_নাম গ) গিট টান উত্স শাখা_নাম

দূরবর্তী সংগ্রহস্থল থেকে আপডেট করা প্রতিশ্রুতি নিয়ে আপনি আগের অবস্থানে ফিরে আসবেন।


এখানে খুব সহজেই মনে রাখা সহজ এবং সহজ উপায় রয়েছে's 2 শর্তাদি পরীক্ষা করুন এবং 1 কমান্ড দিয়ে শেষ করুন। তারপরে আপনি আবার ট্র্যাক এ এসেছেন।

যদি

আপনি 'বিচ্ছিন্ন মাথা'
(যেমন git status টাইপ করুন; আপনি HEAD detached at <commit_id> দেখতে পাবেন)

এবং

একটি বিদ্যমান শাখা আপনার প্রয়োজন অনুসারে
(যেমন git branch -v টাইপ করুন; আপনি যে কাজটি চালিয়ে যেতে চান তার প্রতিনিধিত্ব করে সম্পর্কিত কমিট বার্তা সহ একটি শাখার নাম দেখতে পান)

তারপর

কেবলমাত্র সেই শাখাটি পরীক্ষা করে দেখুন (যেমন git checkout <branch_name> টাইপ করুন git checkout <branch_name> ; আপনি Switched to branch <branch_name> দেখতে Switched to branch <branch_name> )।

ফলাফল

আপনি এখন আগের মতো আপনার কাজ যুক্ত করা এবং প্রতিশ্রুতিবদ্ধ করতে পারেন; পরিবর্তনগুলি <branch_name> ট্র্যাক করা হবে।

মনে রাখবেন যে হেড পৃথক হওয়ার সময় আপনি যদি কাজটি সংরক্ষণ করে থাকেন তবে বেশিরভাগ ক্ষেত্রে কাজটি উপরের প্রক্রিয়াটিতে স্বয়ংক্রিয়ভাবে একত্রিত হয়ে যাবে। আপনি যদি মার্জ সংঘাত সম্পর্কে কোনও বার্তা দেখেন তবে আতঙ্কিত হবেন না। সংঘাত সংশোধন এবং একত্রীকরণ সম্পূর্ণ করার জন্য সহজ পদক্ষেপ সহ বেশ কয়েকটি দুর্দান্ত টিউটোরিয়াল রয়েছে।


করা

git reset 23b6772

আপনি সঠিক অবস্থানে আছেন কিনা তা দেখতে:

git status

আপনি কিছু দেখতে পাবেন

শাখা মাস্টারে আপনার শাখা 17 টি কমিট দ্বারা 'উত্স / মাস্টার' এর পিছনে রয়েছে এবং দ্রুত অগ্রসর হতে পারে।

তারপরে হেডকে বর্তমান প্রতিশ্রুতিতে স্থির করুন:

git push --force







git-reflog