গিটের "আমাদের" এবং "তাদের" এর সঠিক অর্থ কী?


323

এটি একটি প্রশ্নের খুব মৌলিক মত মনে হতে পারে, তবে আমি উত্তরগুলির জন্য অনুসন্ধান করেছি এবং আমি এখন আগের চেয়ে আরও বিভ্রান্ত।

আমার শাখাটি আমার অন্য শাখায় মার্জ করার সময় "আমাদের" এবং "তাদের" গিটের অর্থ কী? উভয় শাখা "আমাদের"।

একীভূত সংঘাতের মধ্যে "আমাদের" সর্বদা দুটি সংস্করণের উপরে প্রদর্শিত হয়?

"আমাদের" উইন্ডোজটি শুরু হওয়ার পরে কী সর্বদা সেই শাখাকে নির্দেশ করে যা শিরোনাম নির্দেশ করেছিল? যদি তা হয় তবে কেন "বর্তমান" এর মতো একটি স্পষ্ট অধিকারী রেফারেন্স ব্যবহার করবেন না পরিবর্তে "আমাদের" এর মতো একটি অধিকারী সর্বনাম ব্যবহার করুন যা উভয় শাখা প্রযুক্তিগতভাবেই আমাদের (যেহেতু উভয় শাখা প্রযুক্তিগতভাবে আমাদের)?

বা কেবল শাখার নাম ব্যবহার করুন ("আমাদের" বলার পরিবর্তে কেবল "স্থানীয় মাস্টার এর" বলুন বা এরকম)?

আমার কাছে সবচেয়ে বিভ্রান্তিকর অংশটি যদি আমি নির্দিষ্ট শাখার .gitattributes ফাইলটিতে নির্দিষ্ট করে থাকি। বলতে দেয় পরীক্ষা শাখা আমি নিম্নলিখিত .gitattributes ফাইল আছে:

config.xml merge=ours

এখন আমি চেকআউট এবং বিন্দু মস্তক মাস্টার তারপর মার্জ পরীক্ষা । যেহেতু মাস্টার আমাদের, এবং পরীক্ষার .gitattributes চেক আউট হয় না, এটিরও কি কোনও প্রভাব পড়বে? যদি এর কোনও প্রভাব থাকে, যেহেতু মাস্টার এখন "আমাদের", তবে কী হবে?

উত্তর:


374

আমি সন্দেহ করি আপনি এখানে বিভ্রান্ত কারণ এটি মূলত বিভ্রান্তিকর। জিনিসগুলি আরও খারাপ করার জন্য, আপনি যখন রিবেস করছেন তখন পুরো আমাদের / তাদের জিনিসগুলি ভূমিকা পাল্টে দেয় (পিছনের দিকে পরিণত হয়)।

পরিশেষে, একটি সময় 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এগুলিকে "স্থানীয়" এবং "দূরবর্তী" বলে ডাকার জন্য আরও আরও নাম পরিচয় করানো হয়েছে !


28
+1 টি। : আমাদের সম্পর্কে আমাদের এবং তাদের জন্যে রয়েছে হচ্ছে রি-বেসের ফলে সময় বিপরীত, এছাড়াও দেখুন stackoverflow.com/a/2960751/6309 এবং stackoverflow.com/a/3052118/6309
VonC

1
দুটি জিনিস একে অপরের "একত্রিত"। যখন একত্রীকরণ ঘটে তখন উভয় পক্ষ একে অপরকে "মধ্যে" মার্জ করে। আমি মনে করি এটি বলা ভুল হবে যে উভয় পক্ষের মধ্যে একটি "কোনও কিছুর সাথে মিলিত হচ্ছে না"। যদি কোনও শাখার নাম জড়িত না থাকে (যেমন আপনি উল্লেখ করেছেন) তবে প্রতিশ্রুতিবদ্ধ নামগুলি অন্তর্ভুক্ত রয়েছে (আপনি "আমাদের" এবং "তাদের" পরিবর্তে "7777777" এবং "1234567 এর" বলতে পারেন)। আমি বুঝতে পারি রিবেসের সময় কী ঘটে এবং আমি এটিকে মোটেই বিভ্রান্তিকর বলে মনে করি না। আমি মনে করি "হেডের" এবং "আগত" "" আমাদের "এবং" তাদের "এর চেয়ে আরও ভাল কাজ করবে কারণ সেখানে সর্বদা একটি" হেড "থাকে (এটি বিযুক্ত থাকুক বা না থাকুক)।
কমাটোস্ট

15
আমি অনুমান করি যেহেতু মাথাটি মনের আসন, যা পরিচয়ের উত্স, যা নিজের উত্স, তাই যেহেতু হেডের "আমার" ("আমাদের") হিসাবে ইঙ্গিত করা হয়েছে তা ভেবে আরও কিছুটা বোধগম্য হয় আমার অনুমান এবং হেড দুটি করে তোলে)। আর কিছু না হলে, এটি কেবল একটি ভাল স্মৃতিবিদ্যার ডিভাইস হবে।
কমাটোস্ট

1
বলা হচ্ছে, আমি প্রত্যাবর্তনের মতো কিছু করার আগে পুরো রেপোর একটি দৈহিক অনুলিপি তৈরি করতে চাই ...: ডি
কমাটোস্ট

3
"যে ক্ষেত্রে কোনও শাখার নাম জড়িত নেই!" ... সুতরাং এর পরিবর্তে কমিট মন্তব্য / হ্যাশ ব্যবহার করা উচিত। যাই হোক না কেন এটি হাত পেতে পারে। ব্যবহারিকভাবে "আমাদের" এবং "তাদের" এর চেয়ে ভাল কিছু হতে পারে। আমি বিস্মিত হয়েছি যে এই বিভ্রান্তিটি কত হাজার হাজার দেব ঘন্টা বেগে গেছে ap সি ++ এর "সর্বাধিক ভিক্সিং পার্স";) এর গিটারের উত্তর
জারোদ স্মিথ

49

গিটের ' আমাদের ' মূল কার্যকারী শাখার কথা উল্লেখ করছে যা গিট ইতিহাসের অনুমোদনপ্রাপ্ত / ক্যানোনিকাল অংশ রয়েছে।

' তাদের ' সেই সংস্করণটিকে বোঝায় যেটি কাজটি পুনর্বাসনের জন্য পুনরায় রাখতে হবে (বর্তমান শাখায় পুনরায় খেলতে হবে)।

এই লোক জেনে রাখুন যে করছেন rebasing (যেমন না হয় আনা প্রদর্শিত হতে পারে git rebase) প্রকৃতপক্ষে হোল্ড উপর আপনার কাজ (যা নিচ্ছে তাদের অর্ডার ক্যানোনিকাল / প্রধান ইতিহাস যা সম্মুখের রিপ্লে করার জন্য) আমাদিগের , কারণ আমরা rebasing করছি আমাদের তৃতীয় পক্ষের কাজ হিসাবে পরিবর্তন।

ডকুমেন্টেশন git-checkoutআরও গীত মধ্যে ব্যাখ্যা করা হয়েছিল> = 2.5.1 অনুযায়ী f303016কমিট :

--ours --theirs

সূচক থেকে পাথগুলি পরীক্ষা করার সময়, নিমজ্জিত পাথগুলির জন্য পর্যায় # 2 ('আমাদের') বা # 3 ('তাদের') দেখুন।

দ্রষ্টব্য যে git rebaseএবং তার সময়ে git pull --rebase, 'আমাদের' এবং 'তাদের' অদলবদল হতে পারে; --oursশাখার সংস্করণটি পরিবর্তনগুলিতে পুনর্বাসিত করা হয়, --theirsআবার শাখা থেকে সংস্করণ দেয় যা আপনার কাজকে পুনর্বাসিত করা হচ্ছে।

এর কারণটি rebaseএমন একটি ওয়ার্কফ্লোতে ব্যবহৃত হয় যা রিমোটের ইতিহাসকে ভাগ করা ক্যানোনিকাল হিসাবে বিবেচনা করে এবং আপনি যে শাখায় তৃতীয় পক্ষের কাজকে একীভূত করার জন্য প্রত্যাখ্যান করছেন তার কাজটি আচরণ করে এবং আপনি সাময়িকভাবে এর ভূমিকা গ্রহণ করছেন পুনর্বাসনের সময় ক্যানোনিকাল ইতিহাসের রক্ষক। ক্যানোনিকাল ইতিহাসের রক্ষক হিসাবে আপনাকে দূরবর্তী থেকে ইতিহাসটি দেখতে হবে ours(অর্থাত্ "আমাদের ভাগ্যবান ইতিহাসের ইতিহাস)", যখন আপনি আপনার পাশের শাখায় যা করেছেন theirs(যেমন "এটির উপরে একজন অবদানকারীর কাজ")।

জন্য git-mergeনিম্নোক্ত ভাবে ব্যাখ্যা আছে:

আমাদিগের

এই বিকল্পটি আমাদের সংস্করণকে সমর্থন করে বিরোধী শিকারীদেরকে পরিষ্কারভাবে স্বয়ংক্রিয়ভাবে সমাধান করতে বাধ্য করে। আমাদের পক্ষের সাথে বিরোধ না করে এমন অন্যান্য গাছের পরিবর্তনগুলি মার্জ ফলাফলের প্রতিফলিত হয়। বাইনারি ফাইলের জন্য, পুরো বিষয়বস্তুগুলি আমাদের পাশ থেকে নেওয়া হয়েছে।

এটি আমাদের মার্জ কৌশল হিসাবে বিভ্রান্ত হওয়া উচিত নয়, যা অন্য গাছের মধ্যে কী রয়েছে তা এমনকি দেখায় না। এটি অন্যান্য গাছের যা কিছু করেছিল তা বাতিল করে দেয় এবং আমাদের ইতিহাস ঘোষণা করে এর মধ্যে যা ঘটেছিল সেগুলি রয়েছে।

তাহাদেরই

এটি আমাদের বিপরীত।

আরও আরও, কীভাবে সেগুলি ব্যবহার করবেন তা এখানে ব্যাখ্যা করা হয়েছে:

মার্জ মেকানিজম ( git mergeএবং git pullকমান্ডগুলি) ব্যাকএন্ডে মার্জ কৌশলগুলি -sবিকল্পের সাথে চয়ন করার অনুমতি দেয় । কিছু কৌশল তাদের নিজস্ব বিকল্পও নিতে পারে, যা এবং / অথবা দ্বারা -X<option>যুক্তি দিয়ে পাস করা যেতে পারে ।git mergegit pull


তাই কখনও কখনও এটি বিভ্রান্তিকর হতে পারে, উদাহরণস্বরূপ:

  • git pull origin master-Xoursআমাদের স্থানীয় যেখানে , -Xtheirsতাদের (দূরবর্তী) শাখা
  • git pull origin master -rযেখানে -Xoursতাদের (দূরবর্তী), -Xtheirsআমাদের

সুতরাং 2 য় উদাহরণ 1 মটির বিপরীতে, কারণ আমরা আমাদের শাখাটিকে রিমোটের শীর্ষের উপরে ছেড়ে দিচ্ছি, সুতরাং আমাদের প্রারম্ভিক বিন্দুটি দূরবর্তী এক, এবং আমাদের পরিবর্তনগুলি বাহ্যিক হিসাবে বিবেচিত হবে।

git mergeকৌশল ( -X oursএবং -X theirs) জন্য একই ।


2
এই উত্তরটি পুরানো বলে মনে হচ্ছে => "গিট মার্জ - আওয়ারস" কোনও বৈধ বিকল্প নয়
আলেকজান্ডার মিলস

@ আলেকজান্ডারমিলস উত্তরটি সম্পর্কে কথা বলেনি git merge, git pullএবং git checkoutউদাহরণ হিসাবে। আপনি যদি এই পরামিতিটি ব্যবহার করতে চান তবে আপনার ব্যবহার করা git mergeউচিত -X ours। আপনি এখনও এর জন্য --oursবাক্য গঠন ব্যবহার করতে পারেন git checkout। আমি উত্তর আরও স্পষ্ট করে দিয়েছি।
কেনোরব

46

আমি জানি যে এর জবাব দেওয়া হয়েছে, তবে এই সমস্যাটি আমাকে এতবার বিভ্রান্ত করেছে যে আমি মনে রাখতে সাহায্য করার জন্য একটি ছোট রেফারেন্স ওয়েবসাইট রেখেছি: https://nitaym.github.io/ourstheirs/

এখানে বেসিকগুলি:

মার্জ:

$ git checkout master 
$ git merge feature

আপনি যদি সংস্করণটি নির্বাচন করতে চান তবে master:

$ git checkout --ours codefile.js

আপনি যদি সংস্করণটি নির্বাচন করতে চান তবে feature:

$ git checkout --theirs codefile.js

Rebases:

$ git checkout feature 
$ git rebase master 

আপনি যদি সংস্করণটি নির্বাচন করতে চান তবে master:

$ git checkout --ours codefile.js

আপনি যদি সংস্করণটি নির্বাচন করতে চান তবে feature:

$ git checkout --theirs codefile.js

(এটি অবশ্যই সম্পূর্ণ ফাইলের জন্য)


1
সেই ওয়েবসাইটটি অতি সহায়ক। ফ্লো-চার্ট শৈলী এবং রঙ-কোডেড শব্দগুলি এসও উত্তরগুলির চেয়ে ওয়েবসাইটকে বোঝার পক্ষে আরও সহজ করে তোলে। ধন্যবাদ.
রন

10
  • আমাদের : আপনি বর্তমানে চালু সেই শাখাটি।
  • তাদের : এটি আপনার ক্রিয়াকলাপে ব্যবহৃত অন্য শাখা।

তাই আপনি যদি শাখা রয়েছে মুক্তির / 2.5 এবং আপনি শাখা একত্রীকরণ বৈশিষ্ট্য / নতুন বোতামগুলিকে তা, তারপর সামগ্রী হিসাবে পাওয়া মুক্তি / 2.5 কি আমাদিগের হিসাবে পাওয়া বোঝায় এবং কন্টেন্ট বৈশিষ্ট্য / নতুন বোতামগুলিকে কি হয় তাহাদেরই বোঝায় প্রতি. মার্জ অ্যাকশনের সময় এটি বেশ সোজা এগিয়ে।

বেশিরভাগ লোকেরা যে সমস্যার জন্য পড়েছেন তা হ'ল রিবেস কেস । আপনি যদি একটি সাধারণ সংশ্লেষের পরিবর্তে পুনরায় বেস করেন তবে ভূমিকাগুলি অদলবদল করা হবে। এটা কেমন ছিল? ঠিক আছে, এটি সম্পূর্ণভাবে রিবাইজিংয়ের কাজগুলির কারণে ঘটে। সেভাবে কাজ করার জন্য পুনর্বাসনের কথা ভাবেন:

  1. আপনার শেষ টানা যেহেতু আপনি করেছেন সমস্ত কমিটগুলি তাদের নিজস্ব একটি শাখায় স্থানান্তরিত হয়েছে, এর ব্র্যাঙ্কএক্স নামকরণ করুন
  2. আপনি আপনার বর্তমান শাখার প্রধানকে চেকআউট করে ফেলেছিলেন, আপনার যে কোনও স্থানীয় পরিবর্তন ছিল তা বাদ দিয়ে অন্যভাবে সেই শাখার জন্য চাপানো সমস্ত পরিবর্তন পুনরুদ্ধার করুন।
  3. এখন ব্রাঞ্চএক্স -এ করা প্রতিটি প্রতিশ্রুতিটি আপনার বর্তমান শাখায় পুরানো থেকে পুরানো অনুসারে চেরি-বাছাই করা।
  4. ব্রাঞ্চএক্স আবার মুছে ফেলা হয়েছে এবং এভাবে কোনও ইতিহাসে প্রদর্শিত হবে না।

অবশ্যই, এটি আসলে যা চলছে তা নয় তবে এটি আমার জন্য একটি দুর্দান্ত মনের মডেল। এবং যদি আপনি 2 এবং 3 এর দিকে তাকান, আপনি বুঝতে পারবেন যে এখন কেন ভূমিকাগুলি অদলবদল করা হয়। 2 হিসাবে, আপনার বর্তমান শাখাটি এখন আপনার কোনও পরিবর্তন ছাড়াই সার্ভার থেকে শাখা, সুতরাং এটি আমাদের (আপনি যে শাখায় রয়েছেন ) is পরিবর্তন আপনি কি অন্য কিছু শাখা যা আপনার বর্তমান (নয় এখন আগ্রহী, BranchX ) এবং এইভাবে এই পরিবর্তনগুলি (পরিবর্তনগুলি আপনার তৈরি করা সত্ত্বেও) দ্বারা তাহাদেরই (আপনার কর্ম ব্যবহৃত অন্যান্য শাখা)।

এর অর্থ যদি আপনি মার্জ হয়ে যান এবং আপনি যদি আপনার পরিবর্তনগুলি সর্বদা জিততে চান তবে আপনি গিটকে সর্বদা "আমাদের" বেছে নেওয়ার কথা বলতে চাইবেন তবে আপনি যদি পুনর্নির্বাচিত হন এবং আপনার সমস্ত পরিবর্তন সর্বদা জয়ের জন্য চান, আপনি গিটকে সর্বদা "তাদের" বেছে নিতে বলবেন।


3

আমি জানি এটির অর্থ ব্যাখ্যা করে না তবে কোনটি ব্যবহার করবেন তা মনে করিয়ে দেওয়ার জন্য আমি নিজেকে একটি সামান্য চিত্র তৈরি করেছি:

এখানে চিত্র বর্ণনা লিখুন

আশা করি এটা সাহায্য করবে!

পিএস - নীতার উত্তর in লিঙ্কটিতে একটি চেকও দিন 🙂


3

আমি আমার মেমো এখানে পোস্ট করব, কারণ আমাকে বারবার এখানে আসতে হবে।

স্কেনারিও ১. সাধারণ বিকাশকারী: আপনি এমন বিকাশকারী যারা একত্রীকরণ করতে পারবেন না masterএবং featureকেবল শাখাগুলিতেই খেলতে পারেন ।

কেস 1: মাস্টার একজন রাজা। আপনি আপনার featureশাখাটি রিফ্রেশ করতে চান (= এটিকে রিবেস করুন master), কারণ masterনির্ভরতার নতুন আপডেট রয়েছে এবং আপনি আপনার পরিমিত পরিবর্তনগুলি ওভাররাইট করতে চান।

git checkout master
git pull

git checkout feature
git rebase -X ours master

কেস ২: আপনি একজন রাজা। আপনি আপনার featureশাখাকে masterপরিবর্তন করতে পুনরায় চালু করতে চান । তবে আপনি আপনার সহকর্মীদের চেয়ে বেশি কিছু করেছেন এবং নিজের পরিবর্তনগুলি একটি অগ্রাধিকার হিসাবে ব্যবহার করতে চান।

git checkout master
git pull

git checkout feature
git rebase -X theirs master

গুরুত্বপূর্ণ: আপনি দেখতে পাচ্ছেন যে সাধারণ বিকাশকারীদের rebaseপ্রতিদিন সকালে অনুশীলন / কফির মতো এটি পছন্দ করা উচিত এবং পুনরাবৃত্তি করা উচিত ।

স্কেনারিও ২. মার্জিং-সেন্সি: আপনি একটি দল-নেতৃত্ব এবং অন্যান্য শাখাগুলিকে একীভূত করতে এবং মার্জড ফলাফলটি সরাসরি একটি মাস্টারের দিকে ঠেলাতে চান। masterআপনি বদলাবেন একটি শাখা।

কেস 1: মাস্টার একজন রাজা আপনি তৃতীয় পক্ষের শাখাটি মার্জ করতে চান তবে masterএটি একটি অগ্রাধিকার। featureআপনার প্রবীণরা একটি শাখা যা

git checkout feature
git pull

git checkout master
git merge -X ours master

কেস 2: নতুন পরিবর্তনগুলি একজন রাজা যখন আপনার প্রবীণ বিকাশকারী একটি দুর্দান্ত ছাড়েন featureএবং আপনি masterশাখায় পুরানো গুলি ** টি ওভাররাইট করতে চান ।

git checkout feature
git pull

git checkout master
git merge -X theirs master

মনে রাখবেন:: একটি মধ্যরাত্রি একটি বেছে নিন যা মনে রাখা masterহয় oursসর্বদা। এবং theirsএটি একটি featureযা তাদের করেছে।


2

থেকে git checkoutএর ব্যবহার:

-2, --ours            checkout our version for unmerged files
-3, --theirs          checkout their version for unmerged files
-m, --merge           perform a 3-way merge with the new branch

যখন একত্রীকরণ কোন্দল নিরসনে, আপনি কি করতে পারেন git checkout --theirs some_file, এবং git checkout --ours some_fileযথাক্রমে বর্তমান সংস্করণ এবং ইনকামিং সংস্করণ ফাইল পুনরায় সেট করতে।

যদি আপনি কাজটি করেন git checkout --ours some_fileবা করেন git checkout --theirs some_fileএবং ফাইলটির 3-উপায় সংযোজন সংস্করণে ফাইলটি পুনরায় সেট করতে চান তবে আপনি এটি করতে পারেন git checkout --merge some_file

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