2009-07-18 9 views
5

क्या `यह 2 आदेशों के बीच का अंतर (मैं संशोधन 1 को रोलबैक करना चाहते हैं):अंतर और backout

hg update -r 1 
hg backout -r 1 --merge 

(उदाहरण के टिप संशोधन है 3)

उत्तर

11

शुरू करने के लिए साथ, अद्यतन -आर 1 आपकी कार्यशील निर्देशिका में संशोधन 2 और 3 पूर्ववत कर देगा, जबकि बैकआउट -1r - संशोधन 2 और 3 को रखते हुए संशोधन 1 पूर्ववत कर देगा। लेकिन एक और मौलिक अंतर है:

update चेक अपनी कार्यशील निर्देशिका में पुराने संशोधन के बाहर , जबकि बैकआउट एक नया बनाता है (लेकिन आमतौर पर आप उपरोक्त विलय के बाद प्रतिबद्ध होंगे)।

से पहले:

0 - 1 - 2 - @3 

वापस लाएं के बाद: उन में से प्रत्येक के बाद glog चल संशोधन ग्राफ को देखने के लिए प्रयास करें

0 - @1 - 2 - 3 
backout --merge के बाद

;

0 - 1 - 2 - 3 - @5 
    \- 4 - - -/

क्योंकि वापसी केवल कार्यशील निर्देशिका को प्रभावित करती है, यह किसी भी उपयोगकर्ता के लिए अदृश्य है जो आपके भंडार को क्लोन करता है। वे वापस और बाद में 3 पर खत्म हो जाएगा। जबकि बैकआउट के बाद, वे 5 पर समाप्त हो जाएंगे, जिसमें 1

द्वारा किए गए परिवर्तन नहीं हैं
संबंधित मुद्दे