2010-07-05 5 views
18

मैं विफलता प्रेरणा प्रतिबद्धता खोजने के लिए git bisect का उपयोग कर रहा हूं। हालांकि, सीमा में बहुत से काम निश्चित रूप से अप्रासंगिक हैं (क्योंकि वे दस्तावेज़ीकरण या यूनिट परीक्षणों के लिए प्रतिबद्ध हैं)। मैं गिट बिस्केट स्वचालित रूप से काम करता हूं जो कुछ निर्देशिकाओं में फ़ाइलों को प्रभावित करता है। क्या यह किसी भी तरह से संभव है?मैं फ़ाइल पथ का उपयोग कर एक गिट बिस्केट रन कैसे घटा सकता हूं?

उत्तर

27

आपके पास कई विकल्प यहाँ हैं:

  1. की उपेक्षा विशिष्ट

    git bisect करता लंघन करता की कार्यक्षमता शामिल हैं। आप टैग निर्दिष्ट कर सकते हैं करता है,, पर्वतमाला आप

    git bisect skip 0dae5f ff049ab ... 
    

    साथ परीक्षण करने के लिए बस आपको git bisect run से पहले ऐसा नहीं करना चाहते, और इसे छोड़ देना चाहिए कि तुम क्या निर्दिष्ट।

    तुम भी कटौती कर सकते हैं टूटे स्रोतों के साथ

  2. निर्दिष्ट फ़ोल्डरों क्या फ़ोल्डर उस में समस्याओं के लिए दिखना चाहिए निर्दिष्ट द्वारा bisect परीक्षण करता है। यह git bisect start करने के लिए अतिरिक्त तर्क supllying द्वारा bisect प्रक्रिया की शुरुआत में किया जाता है (मानक मैनुअल से उद्धरण):

    git bisect start -- arch/i386 include/asm-i386 
    

    बिसेक्ट केवल उन फ़ोल्डर्स को स्पर्श करने वाले विचारों पर विचार करेगा।


आप स्वचालित रूप से करता है कि कुछ फ़ाइलों या फ़ोल्डरों को स्पर्श इकट्ठा करने के लिए चाहते हैं, तो आपको लगता है कि के लिए git log उपयोग कर सकते हैं। उदाहरण के लिए, निम्न आदेश दे देंगे आप ऐसे नाम हैं जो निश्चित फ़ोल्डरों की फ़ाइलों को संशोधित करने की:

git log --pretty=format:%H tests/ docs/ 

और तुम खोल क्षमताओं के उपयोग के साथ git bisect skip लिए परिणाम आपूर्ति कर सकते हैं:

git bisect skip `git log --pretty=format:%H tests/ docs/` 
+0

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

+1

@ फ्रैरिचराबे: क्या, आपका गिट बैश की एक प्रति के साथ नहीं आया था? – SamB

+3

hmmm 'git bisect start' में 2 फ़ोल्डर्स जोड़कर केवल उन फ़ोल्डर्स को स्पर्श करता है जो दोनों फ़ोल्डरों को स्पर्श करते हैं। क्या किसी भी फ़ोल्डर को स्पर्श करने वाले कामों को देखने का कोई तरीका है? – EoghanM