আমি সন্দেহ করি আপনি এখানে বিভ্রান্ত কারণ এটি মূলত বিভ্রান্তিকর। জিনিসগুলি আরও খারাপ করার জন্য, আপনি যখন রিবেস করছেন তখন পুরো আমাদের / তাদের জিনিসগুলি ভূমিকা পাল্টে দেয় (পিছনের দিকে পরিণত হয়)।
পরিশেষে, একটি সময় git merge
, "আমাদিগের" শাখা শাখা আপনি মার্জ করছি বোঝায় মধ্যে :
git checkout merge-into-ours
এবং "তাদের" শাখাটি (একক) শাখাকে বোঝায় যা আপনি মার্জ করছেন:
git merge from-theirs
এবং এখানে "আমাদিগের" এবং "তাহাদেরই" কিছু জ্ঞান করে তোলে, যেমন যদিও "তাহাদেরই" সম্ভবত পুলিশের যাহাই হউক না কেন, "বলেছেন তাহাদেরই" এক ছিলে নয় উপর যখন আপনি দৌড়ে git merge
।
প্রকৃত শাখার নামটি ব্যবহার করার সময় এটি দুর্দান্ত হতে পারে তবে আরও জটিল ক্ষেত্রে এটি পৃথক হয়ে যায়। উদাহরণস্বরূপ, উপরের পরিবর্তে, আপনি এটি করতে পারেন:
git checkout ours
git merge 1234567
যেখানে আপনি কাঁচা প্রতিশ্রুতি-আইডি দিয়ে মার্জ করছেন। সবচেয়ে খারাপ, আপনি এমনকি এটি করতে পারেন:
git checkout 7777777 # detach HEAD
git merge 1234567 # do a test merge
কোন ক্ষেত্রে কোন শাখার নাম জড়িত নেই!
আমি মনে করি এটি এখানে সামান্য সহায়তা, কিন্তু প্রকৃত পক্ষে gitrevisions
বাক্য গঠনতে আপনি সংঘাতের সাথে সংশ্লেষের সময় সংখ্যার ভিত্তিতে সূচকের একটি পৃথক পাথ উল্লেখ করতে পারেন
git show :1:README
git show :2:README
git show :3:README
মঞ্চ # 1 ফাইলগুলির সাধারণ পূর্বপুরুষ, মঞ্চ # 2 হ'ল লক্ষ্য-শাখার সংস্করণ, এবং মঞ্চ # 3 হল আপনি যে সংস্করণটি মার্জ করছেন তা।
"আমাদের" এবং "তাদের" ধারণাগুলি চারদিকে পরিবর্তিত হওয়ার কারণ rebase
হ'ল পুনর্বাসনাটি একটি বেনামে শাখায় (বিচ্ছিন্ন হেড মোড) একটি সিরিজ চেরি-পিক করে কাজ করে। লক্ষ্য শাখাটি বেনামে শাখা, এবং মার্জ হওয়া শাখাটি আপনার মূল (প্রাক-রিবেস) শাখা: সুতরাং "--ours" মানে বেনামে একটি রিবেস নির্মাণের সময় "- তাদের" এর অর্থ "আমাদের শাখাটি পুনরায় সাজানো হচ্ছে" " ।
Gitattributes এন্ট্রি হিসাবে: এটা পারে প্রভাব আছে: "আমাদের" সত্যিই "ব্যবহার পর্যায় # 2" অভ্যন্তরীণভাবে মানে। তবে আপনি যেমন লক্ষ করেছেন যে এটি আসলে সেই সময়ে নেই, তাই এটির এখানে কোনও প্রভাব হওয়া উচিত নয় ... ভাল না, আপনি এটি শুরু করার আগে কাজের গাছটিতে অনুলিপি না করে না not
এছাড়াও, যাইহোক, এটি আমাদের এবং তাদের সমস্ত ব্যবহারের জন্য প্রযোজ্য, তবে কিছু সম্পূর্ণ ফাইল স্তরে রয়েছে ( -s ours
একীভূত কৌশলটির জন্য; git checkout --ours
মার্জ সংঘাত চলাকালীন) এবং কিছুগুলি টুকরো টুকরো ভিত্তিতে রয়েছে ( -X ours
বা -X theirs
একটি সময়কালে -s recursive
একত্রিত করা). যা সম্ভবত কোনও বিভ্রান্তিতে সহায়তা করে না।
যদিও আমি এগুলির জন্য আরও ভাল নামটি নিয়ে আসিনি। এবং: ভনসির আরও একটি প্রশ্নের উত্তর দেখুন , যেখানে git mergetool
এগুলিকে "স্থানীয়" এবং "দূরবর্তী" বলে ডাকার জন্য আরও আরও নাম পরিচয় করানো হয়েছে !