2012-04-03 14 views
31

के बराबर शेल्व समकक्ष है मेरे पास एचजी शेल्व (अटारी नहीं) एक्सटेंशन स्थापित है, और मैं पैच ड्रॉप करना चाहता हूं। गिट में यह git stash drop होगा। मैं शेल्व एक्सटेंशन का उपयोग करके ऐसा कैसे करूं?एचजी शेल्व गिट स्टैश ड्रॉप

उत्तर

28

Mercurial shelve एक्सटेंशन .hg/shelved के अंतर्गत पैच स्टोर करता है। प्रत्येक एक साधारण पैच फ़ाइल है, और फ़ाइल नाम पैच का नाम है।

rm .hg/shelved/mypatch

+2

एचजी शेल्व यूआई का उपयोग करके अलमारियों को हटाने के लिए [BennyMcBenBen का उत्तर] (http://stackoverflow.com/a/25558246/1286571) देखें। – ForeverWintr

28

आप अलमारियों का उपयोग नहीं करना चाहते हैं, तो आप इसे निम्नलिखित तरीके से कर सकते हैं: तो एक पैच 'mypatch' मैं बस फ़ाइल 'mypatch' .hg से निकाल सकते हैं कहा जाता है/हटाया दूर करने के लिए ।

hgshelve

#!/bin/sh 
hg diff > $1 && hg revert -a 

hgunshelve

#!/bin/sh 
hg import --no-commit $1 && trash $1 

उन्हें ~/bin में रख:

hg diff > mylocalchanges.txt 
hg revert -a 
# Do your merge here, once you are done, import back your local mods 
hg import --no-commit mylocalchanges.txt 
+2

सृजन से बचने के लिए '* .orig' फ़ाइलें उपयोग करें:' hg revert -aC' –

0

मैं दो शेल स्क्रिप्ट minaz के उत्तर के आधार पर बनाया गया है। trash कमांड के लिए आपको sudo apt-get install trash-cli की आवश्यकता है (या यदि आप पसंद करते हैं तो पैच फ़ाइल को हटाने के लिए स्क्रिप्ट को संशोधित करें, या rm का उपयोग करें)।

25

Mercurial shelve documentation (या hg help shelve का प्रयोग करके) से:

विशिष्ट हटाया परिवर्तन हटाने के लिए, "--delete" का उपयोग करें। सभी शेल्व किए गए परिवर्तनों को हटाने के लिए, "--cleanup" का उपयोग करें।

विकल्प:

-d --delete नामित हटाया परिवर्तन (रों)

तो हटाते हैं अपने पैच my-patch बुलाया गया था, तो आप का उपयोग कर इसे हटा जाएगा:

hg shelve -d my-patch 
+0

यह स्वीकार्य उत्तर होना चाहिए। – gcedo

संबंधित मुद्दे