2012-09-03 21 views
12

मुझे अक्सर चिंतित है कि मेरी hgignore फ़ाइल महत्वपूर्ण फ़ाइलों को छोड़कर हो सकती है। उदाहरण के लिए मैंने अभी देखा है कि मैं सभी .exe फ़ाइलों को छोड़ रहा था जिसमें कुछ छोटे निष्पादन योग्य टूल शामिल थे जिन्हें स्रोत के साथ रखा जाना चाहिए। यह उन्हें शामिल करने में एक साधारण परिवर्तन था, लेकिन मुझे चिंतित करता है कि नियमों का अनचाहे परिणाम हो सकते हैं।.hgignore की वजह से कौन सी फाइलों को अनदेखा किया जा रहा है यह जांचने के लिए कैसे?

क्या .hgignore फ़ाइल के कारण ट्रैक की जा रही सभी फ़ाइलों की सूची देखने का कोई तरीका है? बस मैं समय-समय पर सूची की समीक्षा कर सकता हूं ताकि यह जांच सके कि मैं इससे खुश हूं।

उत्तर

21

कमांड hg status -i ठीक है।

+0

मुझे हराया क्योंकि मैं न्यूनतम चरित्र आवश्यकता को पूरा करने के लिए अन्य पात्रों में बहुत व्यस्त टाइपिंग कर रहा था :) _ "शरीर को आपके द्वारा 28 में प्रवेश किए गए 30 अक्षर होना चाहिए" _ –

+0

@ बुरहान खालिद: मुझे यह समस्या भी है ... सबक: "अगर संदेह में, वर्बोज़ हो";) – Jon

+0

मैं हमेशा -long-options का उपयोग करके जवाब देता हूं। शिक्षण के लिए बेहतर है। :) –

5

हां, यह संभव है। यदि आप TortoiseHg की तरह smth का उपयोग कर रहे हैं, तो आप चुन सकते हैं कि आप कौन सी फाइल देखना चाहते हैं।

यहाँ मुझे सही जवाब के साथ पंच को हरा @Jon एक नमूना

enter image description here

12

है, लेकिन इसकी लायक कुछ भी नहीं के साथ status -i के साथ, वहाँ है कि:

  • hg status -m (केवल संशोधित फाइलें)
  • hg status -a (केवल फाइलें जोड़ी गईं)
  • hg status -r
  • hg status -c (बिना किसी परिवर्तन के फ़ाइलें, यानी (केवल कि हटा दिया गया है फ़ाइलों)
  • hg status -d (केवल कि नष्ट कर दिया गया फ़ाइलें)
  • hg status -u (सभी गैर नज़र रखी फ़ाइलें)।
6

"साफ")

  • hg status -A (सभी फाइलों, यानी, सब कुछ) आप फ़ाइल नाम पर मैनुअल निरीक्षण क्या करना चाहते हैं, तो स्थिति के -i/--ignored ध्वज का उपयोग करें:

    $ hg status -i 
    I ignored file.exe 
    

    यदि आप फ़ाइल नाम अकेले चाहते हैं, तो प्रत्येक फ़ाइल नाम के सामने मुद्रित स्थिति कोड को दबाने के लिए -n/--no-status का उपयोग करें:

    $ hg status -n -i 
    ignored file.exe 
    

    आप प्रक्रिया को xargs साथ फ़ाइलों की जरूरत है, तो इसके अलावा में -0/--print0 ध्वज का उपयोग करें:

    $ hg status -n -0 | xargs -0 touch 
    

    कि रिक्त स्थान को सही ढंग से निपटने की देखभाल करेगा - -0 उपयोग करने के साथ, वहाँ एक जोखिम है कि आप दो फाइलों के रूप में ignored file.exe का इलाज समाप्त कर देंगे: ignored और file.exe चूंकि गोले आमतौर पर रिक्त स्थान पर विभाजित होते हैं।

    उपरोक्त आदेश आपको .hgignore से मेल खाते अनचाहे फ़ाइलों को दिखाते हैं।यदि आप .hgignore से मेल खाने वाली ट्रैक की गई फ़ाइलों को ढूंढने की संबंधित समस्या को हल करना चाहते हैं, तो आपको fileset query का उपयोग करने की आवश्यकता है। यही कारण है कि इस तरह दिखता है:

    $ hg locate "set:hgignore()" 
    

    आप सभी आदेशों फ़ाइलों पर काम के साथ फ़ाइलसेट उपयोग कर सकते हैं, तो आप उदाहरण के लिए कर सकते हैं:

    $ hg forget "set:hgignore()" 
    

    (फ़ाइलें एक प्रति बाईं साथ हटाने के लिए पाया शेड्यूल करने के लिए आपकी कामकाजी प्रतिलिपि में पीछे)।