কেবল একটি একক ফাইলের মার্জ পুনরায় করুন


112

আমি একটি বিশাল সংশ্লেষের মাঝামাঝি, এবং আমি git mergetoolসমস্ত বিবাদগুলি সমাধান করতে ব্যবহার করেছি , তবে আমি এখনও প্রতিশ্রুতিবদ্ধ হইনি, কারণ আমি নিশ্চিত করতে চেয়েছিলাম যে মার্জটি প্রথমে ঠিক আছে।

দেখা যাচ্ছে যে একটি ফাইলে দ্বন্দ্বগুলি সমাধান করার সময় আমি একটি ভুল করেছি এবং আমি git mergetoolসেই ফাইলটির সাথে সংঘাতের সমাধানটি আবারও করতে চাই । যেহেতু এটি একটি বৃহত মার্জ তাই আমি অন্য সমস্ত ফাইলগুলিতে মার্জটি পুনরায় করা এড়াতে চাই, কারণ আমি বুঝতে পারি যে আমাকে এর সাথে করতে হবে git merge --abort

আমি জানি আমি নিজে ফাইলটি সম্পাদনা করতে পারলাম, তবে এটি বেশ ক্লান্তিকর হবে এবং কেবলমাত্র git mergetoolঅপারেশনটি পুনরায় করা খুব সহজ হবে । এটা কি সম্ভব?


উত্তর:


181

দেখে মনে হচ্ছে আমি ঠিক ভুল জায়গায় খুঁজছি। সমাধানটি বেশ সহজ সরল।

git checkout -m <file>

এটি ফাইলটিকে তার দ্বন্দ্বপূর্ণ অবস্থায় ফিরিয়ে দেয়। আমি তখন git mergetoolমার্জটি আবার করতে দৌড়াতে পারি ।


2
এই ধরণের কাজ আমার জন্য। সূচকটি মার্জ হওয়া অবস্থায় শেষ হয়েছে, তবে মার্জেটুল ভাবেন নি যে কোনও অসামান্য মার্জ রয়েছে। আমি কেবল vi ব্যবহার করে মার্জটি করেছি, তবে তা যাইহোক অদ্ভুত ছিল।
ক্রিস ক্লিল্যান্ড

1
ধন্যবাদ! এই ঠিক প্রয়োজন হয়। যাইহোক, vi এর সাথে ম্যানুয়াল মার্জ করা সর্বদা একটি আনন্দ এবং সম্পূর্ণ সন্তুষ্ট। বাম দিকে
সরে

1
এই সদৃশ প্রশ্নের উত্তরটিতে কিছু সহায়ক অতিরিক্ত বিশদ (একই উত্তর সহ) রয়েছে ।
জোশুয়া গোল্ডবার্গ

-4

আপনি সবসময় ফাইলগুলি ম্যানুয়ালি সম্পাদনা করতে পারেন।

আপনি যদি এটি ব্যবহার করে থাকেন git merge --no-commitতবে আপনার কাছে সহজেই একটি প্রস্তুত প্রতিশ্রুতি থাকবে (অটো এবং আধা-অটো পরে) মার্জ হবে।

আপনি এখনও ফাইলগুলি নিরাপদে সম্পাদনা করতে পারেন এবং কেবল সম্পূর্ণ সন্তুষ্ট হলেই প্রতিশ্রুতিবদ্ধ।

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