git - পূর্বাবস্থায় ফিরিয়ে আনুন গিট টান, পুরাতন রাষ্ট্র repos আনতে কিভাবে




version-control git-merge (6)

Jkp এর উত্তর হিসাবে একই, কিন্তু এখানে সম্পূর্ণ কমান্ড:

git reset --hard a0d3fe6

যেখানে a0d3fe6 করছেন দ্বারা পাওয়া যায়

git reflog

এবং বিন্দু এ খুঁজছেন যা আপনি পূর্বাবস্থায় ফেরাতে চান।

গিট টানটি ফিরিয়ে আনতে বা পূর্বাবস্থায় ফিরিয়ে আনতে কোন উপায় আছে যাতে আমার উত্স / রেপগুলি পুরাতন অবস্থায় আসতে পারে যা গিট টান করার আগে ছিল? আমি এটি করতে চাই কারণ এটি এমন কিছু ফাইলগুলিকে একত্রিত করেছে যা আমি করতে চাই না, তবে কেবল অবশিষ্ট অবশিষ্ট ফাইলগুলিকে একত্রিত করব। তাই, আমি এই ফাইলগুলো ফেরত পেতে চাই, তাই কি সম্ভব? ধন্যবাদ :)

আমি স্পষ্টীকরণ জন্য গিট মার্জ পূর্বাবস্থায় ফেরাতে চান সম্পাদনা করুন। কিছু উত্তর দেখার পর, আমি এটা করেছি

git reflog
bb3139b... [email protected]{0}: pull : Fast forward
01b34fa... [email protected]{1}: clone: from ...name...

এখন, আমি কি করতে হবে? git reset --hard করছেন - git reset --hard ঠিক আছে? আমি আবার স্ক্রু করতে চান না, তাই বিস্তারিত পদক্ষেপ জিজ্ঞাসা?


আপনি git reset --hard ORIG_HEAD করতে পারেন - git reset --hard ORIG_HEAD

যে পদক্ষেপগুলি করার আগে "টান" বা "মার্জ করুন" সেটিকে বর্তমান অবস্থা হিসাবে ORIG_HEAD সেট করুন।


একটি ব্যর্থ মার্জ থাকলে, একটি git pull পূর্বাবস্থায় ফিরিয়ে আনতে চাইলে সবচেয়ে সাধারণ কারণ হল, git reset --merge চলমান git reset --merge ঠিক কী করবে তা প্রত্যাশা করে: git reset --merge ফাইলগুলি রাখুন, কিন্তু মার্জ করার চেষ্টা করে এমন git reset --merge পূর্বাবস্থায় ফিরিয়ে আনুন। তারপর কখনও কখনও জেনারেট git merge যে git merge ছাড়াই কি করতে হবে তা নির্ধারণ করতে পারেন। এবং একে সঠিক আইডি আইডি খুঁজে বের করার প্রয়োজন নেই - যা প্রতিটি অন্য উত্তরের মধ্যে উল্লেখ করা প্রয়োজন।


একটি মার্জ পূর্বাবস্থায় ফিরিয়ে আনতে আরো আধুনিক উপায় হল:

git merge --abort

এবং সামান্য পুরানো উপায়:

git reset --merge

আগের উত্তরগুলিতে বর্ণিত পুরানো-স্কুল উপায় (সতর্কতা: আপনার সমস্ত স্থানীয় পরিবর্তনগুলি বাতিল করবে):

git reset --hard

কিন্তু প্রকৃতপক্ষে, এটি git merge --abort git reset --merge সমান সমতুল্য - এটি MERGE_HEAD উপস্থিত git reset --merge প্রদত্ত MERGE_HEAD । এই কমান্ড একত্রিত করার জন্য গিট সাহায্য পড়া যেতে পারে।

git merge --abort is equivalent to git reset --merge when MERGE_HEAD is present.

একটি ব্যর্থ মার্জ করার পরে, যখন কোনও MERGE_HEAD , ব্যর্থ git reset --merge সাথে পূর্বাবস্থায় ফিরিয়ে আনা যেতে পারে git reset --merge কিন্তু git merge --abort সাথে এটি অপরিহার্য নয়, তাই এটি একই জিনিসটির জন্য পুরানো এবং নতুন সিনট্যাক্স নয় । এইজন্য আমি git reset --merge খুঁজে git reset --merge দৈনন্দিন কাজে আরও বেশি দরকারী হতে।


এটি প্রথম ব্যবহার কাজ করে: git reflog

আপনার previus অবস্থা আপনার এসএএ এবং খুঁজে পেতে (HEAD @ {1} একটি উদাহরণ)

git reset --hard [email protected]{1}

ধরুন $COMMIT শেষ $COMMIT আইডি ছিল আপনি git pull সম্পাদন করার আগে। আপনি শেষ টান পূর্বাবস্থায় ফেরাতে হবে কি

git reset --hard $COMMIT

বোনাস:

টান বলার সময়, আমি একটি মজার কৌশল শেয়ার করতে চাই,

git pull --rebase

এই উপরের কমান্ড আমার গিট জীবনের সবচেয়ে দরকারী কমান্ড যা অনেক সময় বাঁচায়।

সার্ভারে আপনার নতুন প্রতিশ্রুতিটি চাপিয়ে দেওয়ার আগে, এই কমান্ডটি ব্যবহার করে দেখুন এবং এটি স্বয়ংক্রিয়ভাবে সর্বশেষ সার্ভার পরিবর্তনগুলি সিঙ্ক করবে (একটি আনয়ন + মার্জ সহ) এবং গিট লগটিতে শীর্ষে আপনার সংঘটিত করবে। ম্যানুয়াল পুল / মার্জ সম্পর্কে চিন্তা করার কোন প্রয়োজন নেই।

বিস্তারিত জানতে এখানে ক্লিক করুন: http://gitolite.com/git-pull--rebase







git-merge