2016-09-05 4 views
7

पूछ रहा है मैं शाखा पर किए गए नवीनतम प्रतिबद्धता को वापस करने की कोशिश कर रहा हूं (किसी और द्वारा)। मैं TortoiseGit क्लाइंट का उपयोग कर रहा हूँ। जब मैं "इस प्रतिबद्धता द्वारा परिवर्तनों को वापस लाता हूं" पर क्लिक करता हूं, तो गिट दो विकल्प प्रदान करता है: Parent1 और Parent2। इसका क्या मतलब है? अभिभावक 1 क्या है और माता-पिता 2 क्या है?गिट रिवर्ट - git parent1 या parent2

screenshot

+1

http://stackoverflow.com/questions/5970889/why-does-git-revert-complain-about-a-missing-m-option पर भी एक नज़र डालें –

उत्तर

3

गिट में प्रत्येक प्रतिबद्धता में कम से कम एक माता-पिता (पहली/आरंभिक प्रतिबद्धता को छोड़कर) होता है। एक प्रतिबद्ध माता पिता पिछले एक है।

C1 <- C2 <- C3 

सी 1 प्रारंभिक प्रतिबद्धता है। सी 2 दूसरा है। सी 1 सी 2 का अभिभावक है। वही सी 3 पर जाता है।

एक विलय प्रतिबद्धता माता-पिता की संख्या के अर्थ में एक विशेष प्रतिबद्धता है।

C1 <- C2 <- C3 

       \ 

.. C4 <- C5 <- C6 

सी 6 एक विलय प्रतिबद्ध है। इसमें दो माता-पिता, सी 3 और सी 5 हैं। यदि आप सी 5 में थे, तो आप दो शाखाओं (प्रतिबद्ध) में विलय करते हैं: सी 5 को माता-पिता 1 (पहला अभिभावक) कहा जाता है और सी 3 अभिभावक 2 (दूसरा अभिभावक) होता है।

3

ऐसा लगता है कि आप एक मर्ज अपनी शाखा में प्रतिबद्ध वापस लौटने की कोशिश कर रहे हैं। एक विलय प्रतिबद्धता दो माता-पिता, विलय में शामिल प्रत्येक शाखा के लिए एक है। आपको यह चुनने की ज़रूरत है कि आप किस अभिभावक के इतिहास का संस्करण बनाए रखना चाहते हैं। आपको प्रत्येक माता-पिता की जांच करनी चाहिए और यह तय करना चाहिए कि आप कौन सा रखना चाहते हैं। सबसे अधिक संभावना है कि आप शायद php7 शाखा में दिखाई देने वाली मूल प्रतिबद्धता को बनाए रखना चाहते हैं। यह ड्रॉप डाउन में Parent 1 विकल्प होना चाहिए।

php7 A -- B -- M  <-- retain this parent's version of history 
      /
master .. C 
संबंधित मुद्दे