জড়িত রয়েছে 4 টি ফাইল:
$LOCAL
যে শাখায় আপনি মার্জ করছেন সেখানে ফাইল; আপনাকে দেখানো হলে মার্জ প্রক্রিয়া দ্বারা অচ্ছুত
$REMOTE
যে শাখায় আপনি মার্জ করছেন সেখানকার ফাইলটি; আপনাকে দেখানো হলে মার্জ প্রক্রিয়া দ্বারা অচ্ছুত
$BASE
$ স্থানীয় এবং EM রিমোটের সাধারণ পূর্বপুরুষ, যেমন। যেখানে দুটি শাখা বিবেচিত ফাইলটি ডাইভার্ট করা শুরু করেছিল; আপনাকে দেখানো হলে মার্জ প্রক্রিয়া দ্বারা অচ্ছুত
$MERGED
আংশিকভাবে সংহত ফাইল, সংঘাতের সাথে; এটি একমাত্র ফাইল যা মার্জ প্রক্রিয়াটি স্পর্শ করে এবং বাস্তবে কখনও আপনাকে দেখায় নাmeld
$MERGED
ফাইলটিতে একটি যে রয়েছে <<<<<<
, >>>>>>
, =====
(এবং হয়তো, ||||||
) চিহ্নিতকারী (যে সীমানা দ্বন্দ্ব)। এই ফাইল যা আপনি সম্পাদনা করা হয় ম্যানুয়ালি সঠিক দ্বন্দ্ব।
ম্যানুয়াল দ্বন্দ্ব সম্পাদনা এবং ভিজ্যুয়াল বিবাদগুলি সম্পাদনা বিভিন্ন ফাইলে করা হয় এবং বিভিন্ন তথ্য উপস্থাপন করে।
Mergetool (অনুমান ব্যবহার করার সময় meld
), ফাইল তাতে দেখতে পান আছেন: $LOCAL
, $BASE
, $REMOTE
। মনে রাখবেন যে $MERGED
ফাইলটি আপনি দেখতে পাচ্ছেন না , যদিও meld
এটি সম্পাদনার ফলাফল লিখতে এটি একটি গোপন পরামিতি হিসাবে পাস করা হয়েছে ।
অন্য কথায়, ইন meld
, আপনি মাঝখানে, ফাইলটি সম্পাদনা করছেন $BASE
এবং আপনি বাম থেকে বা ডান দিক থেকে সমস্ত পরিবর্তন নিজেই বেছে নিচ্ছেন । এটি একটি পরিষ্কার ফাইল, মার্জ প্রক্রিয়া দ্বারা স্পর্শ করা হয়নি। শুধুমাত্র সামান্য ত্রুটি যে, যখন আপনি সেভ, আপনি মধ্যে সংরক্ষণ করবেন না $BASE
ফাইল, কিন্তু চতুর্থ লুকানো প্যারামিটারে meld
হলো, $MERGED
ফাইল (যে আপনি এমনকি দেখতে না)। $BASE
ফাইল নেই না কোন দ্বন্দ্ব বা আংশিক সফল মার্জ ধারণ কারণ তা না হয় $MERGED
ফাইল ।
ভিজ্যুয়াল সম্পাদনায়, যখন $BASE
ফাইলটি আপনার কাছে উপস্থাপন করা হয় (ফাইলের পরিবর্তে $MERGED
) git
মূলত মার্জ করার জন্য তার সমস্ত প্রচেষ্টা বাতিল করে দেয় (সেই প্রচেষ্টাগুলি দৃশ্যমান হয়, যদি আপনি চান, $ মার্জড ফাইলে) এবং আপনাকে মার্জিং সম্পূর্ণরূপে করতে দেয় গোড়া থেকে ।
তল লাইনটি হ'ল ম্যানুয়াল এবং ভিজ্যুয়াল মার্জিং বিরোধগুলিতে আপনি একই ফাইলগুলির দিকে তাকাচ্ছেন না, তবে চূড়ান্ত ফলাফলটি একই ফাইলটিতে লিখিত হয়েছে (সেটিই $MERGED
ফাইল)।
দ্বন্দ্বের ম্যানুয়াল সংশোধন সম্পন্ন হবে $MERGED
কারণ git
গড় কোন হয়েছে আপনি তিনটি ফাইল উপস্থাপন, তাই এটি তিনটি ফাইল (থেকে তথ্য squashes $LOCAL
, $BASE
, $REMOTE
যে ভাষায়) $MERGED
ফাইল।
কিন্তু চাক্ষুষ সরঞ্জাম উপায় আছে আপনি তিনটি ফাইল দেখানোর জন্য তারা আপনাকে দেখাতে $LOCAL
, $BASE
, $REMOTE
ফাইল। আপনি $LOCAL
এবং $REMOTE
ফাইলগুলি থেকে পরিবর্তনগুলি বেছে নিচ্ছেন এবং আপনি সেগুলি $BASE
ফাইলে আনছেন , পুরোপুরি পুনর্নির্মাণ এবং এমনকি $MERGED
ফাইলটি মার্জ করার ব্যর্থ প্রচেষ্টা ওভাররাইট করে ।
merge.conflictstyle
কনফিগারেশন বিকল্প সেট থাকলে তাদের স্বয়ংক্রিয়ভাবে মার্জ করা ব্যর্থ হয়েছিল ।diff3
merge