windows - विंडोज़ पर गिट रेपो में निर्देशिकाओं को अनदेखा करना




git gitignore (10)

मैं विंडोज़ पर msysgit का उपयोग कर गिट में निर्देशिका या फ़ोल्डर को कैसे अनदेखा कर सकता हूं?


अपनी प्रोजेक्ट की निर्देशिका में .gitignore नाम की एक फ़ाइल बनाएं। फ़ाइल में निर्देशिका नाम दर्ज करके निर्देशिकाओं को अनदेखा करें (एक स्लैश संलग्न के साथ):

dir_to_ignore/

here अधिक जानकारी।


आप सामग्री के साथ ".gitignore" फ़ाइल बना सकते हैं:

*
!.gitignore

यह मेरे लिए और सिमुलेशन के लिए काम करता है।


ऐसा लगता है कि फ़ाइलों और निर्देशिकाओं को अनदेखा करने के लिए दो मुख्य तरीके हैं:

  1. .gitignore

    • .gitignore फ़ाइल को अपने repo के रूट में .git फ़ोल्डर के अलावा रखें (विंडोज़ में सुनिश्चित करें कि आप सही फ़ाइल एक्सटेंशन देखते हैं और फिर .gitignore. बनाते हैं .gitignore. (खाली फ़ाइल एक्सटेंशन बनाने के अंत में बिंदु के साथ))
    • ग्लोबल कॉन्फ़िगरेशन ~/.gitignore_global git config --global core.excludesfile ~/.gitignore_global बनाना और git config --global core.excludesfile ~/.gitignore_global को अपने गिट कॉन्फ़िगरेशन में जोड़ने के लिए

    नोट: git rm --cached filename चलाकर पहले ट्रैक की गई फ़ाइलों को git rm --cached filename किया जा सकता है

  2. रिपो बहिष्कृत करें - उन स्थानीय फ़ाइलों के लिए जिन्हें साझा करने की आवश्यकता नहीं है, आप फ़ाइल में फ़ाइल पैटर्न या निर्देशिका जोड़ते हैं। फ़ाइल .git/info/exclude । थेस नियमों का पालन नहीं किया जाता है, इसलिए अन्य उपयोगकर्ताओं द्वारा here अधिक जानकारी नहीं देखी जाती here

[अपडेटेड] अनदेखा फ़ाइलों की सूची में अपवाद बनाने के लिए, यह प्रश्न देखें।


कुछ फ़ाइलों या फ़ोल्डर्स को अनदेखा करने के लिए जीआईटी को निर्देश देने के लिए, आपको .gitignore फ़ाइल बनाना होगा।

लेकिन विंडोज एक्सप्लोरर में आपको फ़ाइल के लिए नाम देना होगा, आप सिर्फ एक्सटेंशन के साथ फाइल नहीं बना सकते हैं, चाल यह है कि एक खाली टेक्स्ट फ़ाइल बनाएं और कमांड प्रॉम्प्ट पर जाएं और फ़ाइल का नाम बदल दें .gitignore

ren "New Text Document.txt" .gitignore

अब फ़ाइल को अपने पसंदीदा टेक्स्ट एडिटर के साथ खोलें और उस फ़ाइल / फ़ोल्डर नाम को जोड़ें जिसे आप अनदेखा करना चाहते हैं। आप इस *.txt जैसे वाइल्डकार्ड का भी उपयोग कर सकते हैं

उम्मीद है कि यह आपको प्रश्न का उत्तर देगा


जब सबकुछ विफल रहता है तो फ़ाइल को संपादित करने का प्रयास करें

/.git/info/exclude

और उन निर्देशिकाओं को जोड़ना जिन्हें आप फ़ाइल के अंत में चाहते हैं, जैसे:

# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
assets/
compiled/

मैंने अनदेखा करने के लिए फ़ाइलों और निर्देशिकाओं की सूची में फ़ोल्डर "संपत्ति" और "संकलित" जोड़ा।


डिफ़ॉल्ट रूप से विंडोज एक्सप्लोरर प्रदर्शित करेगा। .gitignore जब वास्तव में फ़ाइल नाम है .gitignore.txt

गिट का उपयोग नहीं करेगा .gitignore.txt

और आप फ़ाइल को .gitignore पर पुनर्नामित नहीं कर सकते हैं क्योंकि एक्सप्लोरर किसी भी नाम के साथ गिटिग्नोर की एक फ़ाइल सोचता है।

गैर कमांड लाइन समाधान:

You can rename a file to ".gitignore." and it will create ".gitignore"

मुझे लगता है कि समस्या यह है कि आपका कामकाजी पेड़ इस तरह है:

a-cache/foo
a-cache/index.html
b-cache/bar
b-cache/foo
b-cache/index.html
.gitignore

... .gitignore साथ आप वर्णन करते हैं। यह आपको git status आउटपुट देगा जैसे:

$ git status
# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   .gitignore
#   a-cache/
#   b-cache/

... अगर index.html फ़ाइलों को अभी तक भंडार में जोड़ा नहीं गया है। (गिट देखता है कि कैश निर्देशिका में अनगिनत फ़ाइलें हैं, लेकिन केवल निर्देशिकाओं की रिपोर्ट करती हैं।) इसे ठीक करने के लिए, सुनिश्चित करें कि आपने index.html फ़ाइलों को जोड़ा और प्रतिबद्ध किया है:

git add *cache/index.html
git commit -m "Adding index.html files to the cache directories"

... और आपकी git status तब दिखाई देगी:

$ git status
# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   .gitignore
nothing added to commit but untracked files present (use "git add" to track)

(जाहिर है आप प्रतिबद्ध होना चाहते हैं। .gitignore भी, मैं सिर्फ इस टेस्ट केस के साथ आलसी था।)


मुझे विंडोज़ एक्सप्लोरर में फाइल बनाने के कुछ समस्याएं थीं। शुरू में।

वर्कअराउंड कमांडहेल में जाना था और "एडिट" का उपयोग करके एक नई फाइल बनाना था


मेरे पास समान समस्याएं थीं, मैं लिनक्स लड़कों के साथ एक साझा रेपो के साथ एक विंडोज़ उपकरण श्रृंखला पर काम करता हूं, वे किसी दिए गए फ़ोल्डर में नाम [केस को छोड़कर] नाम के साथ फाइलें बनाते हैं।

प्रभाव यह है कि मैं रेपो को क्लोन कर सकता हूं और तुरंत दर्जनों 'संशोधित' फाइलें कर सकता हूं, यदि मैंने चेक किया तो इसमें कहर बरकरार रहेगा।

मेरे पास केस को नजरअंदाज करने के लिए संवेदनशील और गिट केस सेट है लेकिन यह अभी भी विफल रहता है (Win32 एपीआई कॉल में स्पष्ट रूप से)।

अगर मैं फ़ाइलों को गिटिनोर करता हूं तो मुझे .gitignore फ़ाइल को ट्रैक न करना याद रखना होगा।

लेकिन मुझे यहां एक अच्छा जवाब मिला http://archive.robwilkerson.org/2010/03/02/git-tip-ignore-changes-to-tracked-files/index.html

क्रिस


यदि आप एक फ़ोल्डर को बनाए रखना चाहते हैं, न कि अंदर की फाइलें, तो सामग्री के रूप में "*" फ़ोल्डर में ".gitignore" फ़ाइल डालें। यह फ़ाइल भंडार से सभी सामग्री को अनदेखा कर देगी। लेकिन .gitignore आपके रेपो में शामिल किया जाएगा।

$ git add path/to/folder/.gitignore

यदि आप खाली फ़ोल्डर जोड़ते हैं, तो आपको यह संदेश प्राप्त होता है (.gitignore छिपी हुई फ़ाइल है)

The following paths are ignored by one of your .gitignore files:
path/to/folder/.gitignore
Use -f if you really want to add them.
fatal: no files added

तो, बल जोड़ने के लिए "-f" का उपयोग करें:

$ git add path/to/folder/.gitignore -f




msysgit