tutorial - gitlab




গিটের এসএএইচ হ্যাশের একটি কমিটিতে ফিরে আসবেন? (6)

এই প্রশ্নটি ইতিমধ্যে একটি উত্তর আছে:

আমি git revert কাজ কিভাবে পরিষ্কার হয় না। উদাহরণস্বরূপ, আমি মাথার পিছনে ছয়টি কমিটি ফিরিয়ে দিতে চাই, মধ্যস্থতাকারীদের মধ্যে যে সব পরিবর্তন ঘটে সেগুলি আবার ফিরিয়ে আনে।

বলুন 56e05fced214c44a37759efa2dfc25a65d8ae98d হ্যাশ 56e05fced214c44a37759efa2dfc25a65d8ae98d । তাহলে আমি কেন এমন কিছু করতে পারি না:

git revert 56e05fced214c44a37759efa2dfc25a65d8ae98d

আপনার পরিবর্তন ইতিমধ্যে জনসাধারণের কাছে সরানো হয়েছে , ভাগ করা দূরবর্তী, এবং আপনি HEAD এবং <sha-id> মধ্যে সমস্ত কাজগুলি প্রত্যাবর্তন করতে চান, তাহলে আপনি git revert করতে একটি কমিটি পরিসীমা প্রেরণ করতে পারেন,

git revert 56e05f..HEAD

এবং এটি 56e05f এবং HEAD (পরিসীমা শুরু বিন্দু ব্যতীত, 56e05f ) এর মধ্যে সমস্ত 56e05f ফিরিয়ে দেবে।


এই আরও বোধগম্য:

git checkout 56e05fced -- .
git add .
git commit -m 'Revert to 56e05fced'

এবং প্রমাণিত যে এটি কাজ করেছে:

git diff 56e05fced

এটা বলা কমিট reverts, যে, বিপরীত কমিটি এটি যোগ করে। আপনি যদি আগের সংস্করণ চেকআউট করতে চান তবে আপনি তা করবেন:

git checkout 56e05fced214c44a37759efa2dfc25a65d8ae98d

এটি কাজ করতে পারে:

git checkout 56e05f
echo ref: refs/heads/master > .git/HEAD
git commit

যদি আপনি বর্তমান HEAD এর শীর্ষে একটি পৃথক কমিটির সঠিক অবস্থার সাথে প্রত্যক্ষ করতে চান তবে সমস্ত মধ্যবর্তী কাজগুলি পূর্বাবস্থায় ফিরিয়ে আনুন, তারপর আপনি কমিট করার জন্য সূচকের সঠিক অবস্থা তৈরি করতে reset ব্যবহার করতে পারেন।

# Reset the index and working tree to the desired tree
# Ensure you have no uncommitted changes that you want to keep
git reset --hard 56e05fced

# Move the branch pointer back to the previous HEAD
git reset --soft [email protected]{1}

git commit -m "Revert to 56e05fced"

হিসাবে সহজ হওয়া উচিত:

git reset --hard 56e05f

যে সময় আপনি যে নির্দিষ্ট বিন্দু ফিরে পাবেন।





git