जैसा कि मार्क ने सुझाव दिया है, MqExtension आपकी समस्या का एक समाधान है। IMHO एक सरल वर्कफ़्लो है रिबास एक्सटेंशन का उपयोग करने के लिए । मान लीजिए कि आपका इतिहास इस तरह है:
@ changeset: 2:81b92083cb1d
| tag: tip
| summary: my new feature: edit file a
|
o changeset: 1:8bdc4508ac7b
| summary: my new feature: add file b
|
o changeset: 0:d554afd54164
summary: initial
इसका मतलब है, संशोधन 0
वह आधार है जिस पर आपने अपनी सुविधा पर काम करना शुरू किया था। अब आप 1-2
एक नामित शाखा पर संशोधन करना चाहते हैं , आइए बताते हैं my-feature
। संशोधन 0
और उस शाखा को बनाने के लिए अपडेट करें :
$ hg up 0
$ hg branch my-feature
$ hg ci -m "start new branch my-feature"
इतिहास अब इस तरह दिखता है:
@ changeset: 3:b5939750b911
| branch: my-feature
| tag: tip
| parent: 0:d554afd54164
| summary: start new branch my-feature
|
| o changeset: 2:81b92083cb1d
| | summary: my new feature: edit file a
| |
| o changeset: 1:8bdc4508ac7b
|/ summary: my new feature: add file b
|
o changeset: 0:d554afd54164
summary: initial
rebase
संशोधन 1-2
पर संशोधन के लिए आदेश का उपयोग करें 3
:
$ hg rebase -s 1 -d 3
यह निम्नलिखित ग्राफ में परिणाम देता है:
@ changeset: 3:88a90f9bbde7
| branch: my-feature
| tag: tip
| summary: my new feature: edit file a
|
o changeset: 2:38f5adf2cf4b
| branch: my-feature
| summary: my new feature: add file b
|
o changeset: 1:b5939750b911
| branch: my-feature
| summary: start new branch my-feature
|
o changeset: 0:d554afd54164
summary: initial
यह ऐसा है .. जैसा कि मार्क के जवाब में टिप्पणियों में उल्लेख किया गया है, पहले से ही धकेल दिए गए बदलावों के आसपास घूमना आमतौर पर एक बुरा विचार है, जब तक कि आप एक छोटी टीम में काम नहीं करते हैं जहां आप अपने इतिहास में हेरफेर करने में सक्षम हैं और लागू करते हैं।