2012-07-18 10 views
17

मैं मैन्युअल रूप से एक खोज द्वारा बनाई गई बड़ी संख्या में परिवर्तन (1000s में) की समीक्षा कर रहा हूं और कुछ संदेश कैटलॉग पर स्क्रिप्ट को प्रतिस्थापित करता हूं। फिलहाल मैं git add -p कर रहा हूं, लेकिन मैं अन्य फ़ाइलों की जांच करने या स्क्रिप्ट को समायोजित करने के लिए ब्रेक लेता रहता हूं, इसलिए मैं उन परिवर्तनों को त्यागने के लिए git checkout -p के साथ बदल रहा हूं। क्या दोनों को गठबंधन करने का कोई तरीका है? अर्थात। प्रत्येक हंक के लिए मैं इसे मंच करने का विकल्प चाहता हूं, या इसे छोड़ दूंगा।साथ ही गिट ऐड-पी और गिट चेकआउट -पी

+0

मुझे एक ही समस्या है। कुछ शिकारी चुनने के लिए 'गिट एड-पी' का उपयोग करना, मैं अपनी पहली प्रतिबद्धता में चाहूंगा। कुछ को छोड़ने के लिए 'गिट चेकआउट -पी' पर स्विच करना। और जोड़ना Commit और फिर दूसरी प्रतिबद्धता के लिए छोड़ दिया गया सब कुछ जोड़ें। जोड़ और चेकआउट को गठबंधन करना बहुत अच्छा होगा! – Tieme

उत्तर

-1

चरण जिसकी आपको आवश्यकता नहीं है, उससे छुटकारा पाने के लिए काम करने वाले डायर को साफ करने के लिए आपको केवल इतना ही प्रतिबद्ध, प्रतिबद्ध करें और फिर रीसेट या स्टैश करें।

4

यदि आप विंडोज या मैक ओएस का उपयोग कर रहे हैं तो आप मुफ्त SourceTree जीयूआई ऐप का उपयोग कर सकते हैं जो आपको भिन्न दृश्य में प्रत्येक हंक (या प्रत्येक हंक से लाइनों का चयन भी) को छोड़ने या त्यागने की अनुमति देता है।

Stage/Discard hunk

+0

हाँ यह कामकाज होगा। मैं एक क्ली समाधान की तलाश में था। Bu धन्यवाद वैसे भी :) – Tieme

0

कैसे जिसे जो आप मंच, नहीं करना चाहती के लिए और इन सब के बाद j - leave this hunk undecided, see next undecided hunk टाइपिंग, चलाने git checkout --, तो उन चयनित जिसे मंचन किया जाएगा, और अन्य त्याग के बारे में।

जब आप git add -p उपयोग कर रहे हैं, ? टाइपिंग मदद

Stage this hunk [y,n,q,a,d,/,e,?]? 
y - stage this hunk 
n - do not stage this hunk 
q - quit, do not stage this hunk nor any of the remaining ones 
a - stage this and all the remaining hunks in the file 
d - do not stage this hunk nor any of the remaining hunks in the file 
g - select a hunk to go to 
/- search for a hunk matching the given regex 
j - leave this hunk undecided, see next undecided hunk 
J - leave this hunk undecided, see next hunk 
k - leave this hunk undecided, see previous undecided hunk 
K - leave this hunk undecided, see previous hunk 
s - split the current hunk into smaller hunks 
e - manually edit the current hunk 
? - print help 
+0

हमेशा उन सभी शिकारों के लिए 'जे' का उपयोग करके आप मंच नहीं लेना चाहते हैं, आपको एक लूप में मिल जाएगा ... आप उस एली के लिए 'n' का उपयोग कर सकते हैं जिसे आप मंच नहीं करना चाहते हैं और फिर 'गिट चेकआउट - 'बाद में वास्तव में .. लेकिन यह उस मामले के लिए काम नहीं करेगा जब मैंने प्रश्न के नीचे मेरी टिप्पणी में वर्णन करने की कोशिश की थी। – Tieme

0

दिखाएगा आप Git जीयूआई पर एक नज़र हुई है। यह एक उपयोगिता है जो इन दिनों गिट के साथ बंडल की जाती है और जटिल संचालन करना आसान बनाता है जो स्टेजिंग और चेकआउट का मिश्रण होता है। आप इसके बारे में here

आप एक हंक चरण चुन सकते हैं और शेष परिवर्तनों को त्याग सकते हैं। ctrl + j या cmd + j करके आप चयनित फ़ाइल को चेकआउट कर सकते हैं।

मुझे खोल से गिट का उपयोग करने के लिए यह बहुत तेज़ पता है, लेकिन इन जैसे जटिल मामलों में, विभिन्न आदेशों के बीच स्विचिंग ओवरहेड बन जाती है।

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