सबसे स्पष्ट रास्ता src/.gitignore
में जोड़ने का होगा:
obj/
bin/
यह किसी भी पथ है कि एक में हैं पर ध्यान नहीं देता निर्देशिका कॉल obj
, या निर्देशिका निर्देशिका से नीचे bin
नामक निर्देशिका। यदि आप आगे पेड़ नीचे कुछ obj
और bin
निर्देशिका के साथ एक दांतेदार परियोजना पदानुक्रम है
कुछ एक शीर्ष स्तर .gitignore
में src/*/obj/
की तरह काम न करे।
#!/bin/sh
mkdir src
mkdir tools
mkdir src/project1
mkdir src/project2
mkdir tools/tool1
mkdir src/project1/bin
mkdir src/project1/obj
mkdir src/project2/bin
mkdir src/project2/obj
mkdir tools/tool1/bin
touch testfile
touch src/testfile
touch tools/testfile
touch src/project1/testfile
touch src/project2/testfile
touch tools/tool1/testfile
touch src/project1/bin/testfile
touch src/project1/obj/testfile
touch src/project2/bin/testfile
touch src/project2/obj/testfile
touch tools/tool1/bin/testfile
git init
add_empty() { touch "$1" && git add "$1"; }
add_empty dummy
add_empty src/dummy
add_empty tools/dummy
add_empty src/project1/dummy
add_empty src/project2/dummy
add_empty tools/tool1/dummy
git status
printf 'obj/\nbin/\n' >src/.gitignore && git add src/.gitignore
git status
पहले स्थिति का ट्रैक न किए गए फ़ाइल अनुभाग है:
यहाँ त्वरित परीक्षण खोल कार्रवाई में उपेक्षा नियम दिखा स्क्रिप्ट है
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# src/project1/bin/
# src/project1/obj/
# src/project1/testfile
# src/project2/bin/
# src/project2/obj/
# src/project2/testfile
# src/testfile
# testfile
# tools/testfile
# tools/tool1/bin/
# tools/tool1/testfile
और .gitignore फ़ाइल जोड़ने के बाद:
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# src/project1/testfile
# src/project2/testfile
# src/testfile
# testfile
# tools/testfile
# tools/tool1/bin/
# tools/tool1/testfile
यह साबित करने के लिए एक परीक्षण के रूप में कि गिटनामक फ़ाइलों को अनदेखा नहीं कर रहा है 973,210 और bin
लेकिन इस स्क्रिप्ट चलाने के बाद आगे obj
और bin
निर्देशिका अनदेखी कर रहा है पदानुक्रम नीचे:
#!/bin/sh
mkdir src/project3
touch src/project3/testfile && git add src/project3/testfile
touch src/project3/obj
touch src/project3/bin
mkdir src/subdir
mkdir src/subdir/proj
touch src/subdir/proj/testfile && git add src/subdir/proj/testfile
mkdir src/subdir/proj/obj
mkdir src/subdir/proj/bin
touch src/subdir/proj/obj/testfile
touch src/subdir/proj/bin/testfile
नया ट्रैक न किए गए फ़ाइलें हैं:
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# src/project1/testfile
# src/project2/testfile
# src/project3/bin
# src/project3/obj
# src/testfile
# testfile
# tools/testfile
# tools/tool1/bin/
# tools/tool1/testfile
स्रोत
2009-07-06 18:25:08
यह सिर्फ काम करता है ... धन्यवाद :) –
'1.7.0.2.msysgit.0' साथ मेरे लिए काम नहीं करता है। मैंने एक उत्तर पोस्ट किया जो मेरे लिए काम करता है। –
@Drew: आपका उत्तर अधिक काम के बाद से यह कम उपद्रव के साथ सभी निर्देशिकाओं से मेल खाता है लगता है, इसलिए मैं इसे मतदान अप। कहा कि, मैं क्यों इस सवाल का जवाब आपके लिए काम नहीं है, क्योंकि मैं इस मुद्दे के बिना इस तकनीक का उपयोग कर रहा वर्तमान में पता नहीं है। शायद गिट का आपका संस्करण पुराना है? –