सब कुछ लेकिन विशिष्ट निर्देशिकाओं को अनदेखा करने के लिए .ignignore का उपयोग करना


140

मेरा मुद्दा यह है कि मेरे पास मेरे git रेपो में वर्डप्रेस वेबसाइटों का एक समूह है, जिसमें से मैं themesवर्डप्रेस में पाई गई शेष अनावश्यक फ़ाइलों की अनदेखी करते हुए केवल अपने फ़ोल्डर्स की सामग्री का चयन करना चाहता हूं ।

मैंने पहले फ़ाइल प्रकारों को अनदेखा करने के लिए .गितिग्नोर फ़ाइलों का उपयोग किया है, लेकिन क्या इसका उपयोग किसी अन्य तरीके से किया जा सकता है- यानी एक निश्चित फ़ोल्डर पथ पर सब कुछ अनदेखा करना?

root (git repo)
- / wordpress
- - / (WordPress Site 1) / wp-content / themes
- - / (WordPress site 2) / wp-content / themes
- - / (WordPress site 3) / wp-content / themes

धन्यवाद-

अपडेट करें:

उत्तर के आधार पर मैंने निम्नलिखित कार्य किया, लेकिन यह काम नहीं कर रहा है। कोई विचार?

# Ignore everything:
*
# Except for wordpress themes:
!*/wp-content/themes/*

मैंने निम्नलिखित भिन्नताओं को भी आज़माया है:

!*/wp-content/themes*
!*wp-content/themes/*
!wp-content/themes/*
!/wordpress/*/wp-content/themes*
!wordpress/*/wp-content/themes*

इनमें से कोई भी मेरे themesफ़ोल्डर्स को नहीं पढ़ता है ।

जवाबों:


133

यहाँ मैंने यह कैसे किया - आपको अनिवार्य रूप से रास्तों पर चलना होगा, आप किसी भी दिशा में एक से अधिक स्तरों पर वाइल्डकार्ड नहीं कर सकते हैं:

# Ignore everything:
*

# Except for the themes directories:

!wordpress/
!wordpress/*/
!wordpress/*/wp-content/
!wordpress/*/wp-content/themes/
!wordpress/*/wp-content/themes/*
!wordpress/*/wp-content/themes/*/*
!wordpress/*/wp-content/themes/*/*/*
!wordpress/*/wp-content/themes/*/*/*/*
!wordpress/*/wp-content/themes/*/*/*/*/*

ध्यान दें कि आपके द्वारा शामिल किए जाने वाले प्रत्येक स्तर के लिए आपको सामग्री को कैसे स्पष्ट रूप से अनुमति देना है। इसलिए अगर मेरे पास 5 विषय के तहत उपनिर्देशिकाएं हैं, तो मुझे अभी भी उस वर्तनी की आवश्यकता है।

यह केवल यह है कि यह मेरे लिए कैसे काम करता है। अगर किसी को सभी तरीकों से अधिक सूचित स्पष्टीकरण देने की परवाह है।

इसके अलावा, ये उत्तर मददगार हैं:
कैसे-कैसे-नेगेट-पैटर्न-वर्क-इन-गितिग्नोर
कैसे-कैसे-गिगिनॉर-एक्सक्लूजन-नियम-वास्तव में काम करते हैं


नोट: मैं डबल वाइल्डकार्ड 'globs' का उपयोग कर, लेकिन के अनुसार करने की कोशिश की इस कार्यक्षमता प्रणाली निर्भर है और उस पर मेरी मैक काम नहीं किया:

काम नहीं किया:

!**/wp-content/themes/
!**/wp-content/themes/**

4
1.8.4 से पहले **वाइल्डकार्ड केवल काम करता है यदि आपके पैटर्न में कोई स्लैश नहीं है, तो देखिए ।ththought.wordpress.com

यह काम करना चाहिए:!/wordpress/*/wp-content/themes/**/*
that0n3guy

1
क्या यह वाक्यविन्यास खिड़कियों पर काम करता है? यह मेरे लिए काम करने के लिए नहीं लगता है ...
ScottF

यह विंडोज 10 पर अद्भुत काम करता है। विजुअल स्टूडियो कोड से सभी प्रकार की कस्टम परियोजनाओं के लिए इसका उपयोग किया जाता है।
क्लेविस

मैंने इस उत्तर और @ 凡 by द्वारा प्रदान किए गए एक संयोजन का उपयोग किया, जो मेरे लिए काम करता था।
मिकी

95

मैंने ऊपर कोशिश की और वे इतनी अच्छी तरह से काम नहीं करते थे। एक बेहतर तरीका इस प्रकार है: https://gist.github.com/444295

# This is a template .gitignore file for git-managed WordPress projects.
#
# Fact: you don't want WordPress core files, or your server-specific
# configuration files etc., in your project's repository. You just don't.
#
# Solution: stick this file up your repository root (which it assumes is
# also the WordPress root directory) and add exceptions for any plugins,
# themes, and other directories that should be under version control.
#
# See the comments below for more info on how to add exceptions for your
# content. Or see git's documentation for more info on .gitignore files:
# http://kernel.org/pub/software/scm/git/docs/gitignore.html

# Ignore everything in the root except the "wp-content" directory.
/*
!.gitignore
!wp-content/

# Ignore everything in the "wp-content" directory, except the "plugins"
# and "themes" directories.
wp-content/*
!wp-content/plugins/
!wp-content/themes/

# Ignore everything in the "plugins" directory, except the plugins you
# specify (see the commented-out examples for hints on how to do this.)
wp-content/plugins/*
# !wp-content/plugins/my-single-file-plugin.php
# !wp-content/plugins/my-directory-plugin/

# Ignore everything in the "themes" directory, except the themes you
# specify (see the commented-out example for a hint on how to do this.)
wp-content/themes/*
# !wp-content/themes/my-theme/

1
@ dwenaus- इसे साझा करने के लिए धन्यवाद- एक विशिष्ट वर्डप्रेस डायर में निहित रेपो के लिए उपयोगी लगता है, लेकिन इसके नीचे कई वर्डप्रेस साइटों पर रेपो डब्ल्यू पर काम नहीं करेगा, जो कि मैं के लिए जा रहा था ..
यारिन

यह संरचना / मॉडल सुपर सहायक है। मैं एक संयुक्त Magento / WP स्थापित करने के लिए एक ही रेपो चाहता था, और इस तकनीक का उपयोग करके .ignignore की 30 से कम लाइनों के साथ, मैं इसे केवल Magento विषय / त्वचा फ़ाइलों और WP थीम फ़ाइलों तक सीमित करने में सक्षम था। धन्यवाद!
random_user_name

बस इस सेटअप का उपयोग ऑटो-परिनियोजन के साथ न करें क्योंकि एक नौसिखिया उपयोगकर्ता उपयोगकर्ता को इंडेंट किए गए क्षेत्रों के बाहर फ़ाइलों को गड़बड़ कर सकता है (यानी यदि वे दुर्घटना में रेपो में सभी फ़ाइलों को हटा देते हैं और वह ऑटो तैनात है तो यह गड़बड़ हो जाएगा)। इसके अलावा यह अच्छी तरह से काम करता है।
dwenaus

तुम आदमी हो यार! खासकर यदि आपका संस्करण> = 2.1.4 है। रेफरी: git-scm.com/docs/gitignore/2.1.4
हक़न सुरेन

28

पहली पंक्ति को संशोधित करें

*

इसे बदलो

/*

2
यह काम मेरे लिए। मेरी .gitignore फ़ाइल इस तरह है * /!
.Ignignore

12

इन उत्तरों को आज़माएं:

कुछ फ़ाइलों को छोड़कर .gitignore सब कुछ अनदेखा करें

# Ignore everything
*

# But not these files...
!.gitignore
!script.pl
!template.latex
# etc...

# ...even if they are in subdirectories
!*/

मैं Git को सबडायरेक्ट के अलावा सब कुछ अनदेखा करने के लिए कैसे कहूं

यह रूट फ़ाइलों और रूट निर्देशिकाओं को अनदेखा करता है, फिर रूट बिन निर्देशिका को अन-अनदेखा करता है:

/*
/*/
!/bin/

इस तरह से आपको सभी उप निर्देशिकाएं और उनकी फाइलें सहित बिन निर्देशिका मिल जाती हैं।


@ चिड़चिड़ा- धन्यवाद, ये नहीं देखा- हालांकि, मुझे उन्हें अपनी स्थिति पर लागू करने में परेशानी हो रही है। मेरे संपादन को ऊपर देखें ...
यारिन

1
दूसरी कड़ी मैं पोस्ट किया है कि तुम दोनों की आवश्यकता होगी कहते हैं !*/wp-content/themes/और !*/wp-content/themes/*। क्या आपने वह भिन्नता आजमाई है? इसके अलावा, एक विकल्प के रूप में, आप बस इस्तेमाल कर सकते हैं !*/wp-content/themes/और प्रत्येक थीम डायरेक्टरी में अपनी स्वयं की .itignore फ़ाइल है!*
इरिटेट करें

1
@ चिड़चिड़ाहट - कोई भी भिन्नता या तो काम नहीं करती है, और वैसे भी मैं यह नहीं देखता कि यह कैसे अलग होगा!*/wp-content/themes*
यारिन

9

यदि आप विस्मयादिबोधक बिंदु ( !) के साथ एक पैटर्न उपसर्ग करते हैं, तो यह किसी भी पिछले पैटर्न को नकारता है जो इसे बाहर करता है। इसलिए, संभवतः, आप सब कुछ अनदेखा कर सकते हैं, फिर केवल इस पैटर्न का उपयोग करके आप जो चाहते हैं, अनुमति दें।


@ dappawit- धन्यवाद अवधारणा समझ में आता है, और मैं फ़ाइलों के लिए काम मिल गया, लेकिन मेरी विषयों folders- ऊपर मेरे संपादन देखें ... के लिए नहीं
Yarin

मैं ग्लोब पैटर्न पर विशेषज्ञ नहीं हूं, लेकिन .ignignore मैन पेज को पढ़ रहा हूं, मेरा मानना ​​है कि यह काम कर सकता है !wordpress/[write out directories]/wp-content/themes/:। क्लोजिंग स्लैश और नो क्लोजिंग तारांकन नोटिस। यह भी ध्यान दें कि *केवल एक स्तर से मेल खाएगा, न कि कई निर्देशिकाओं से। यहाँ मैन पेज है: kernel.org/pub/software/scm/git/docs/gitignore.html
dappawit 20

मुझे यह महसूस करने में मदद की कि मुझे अन्य नियमों के धन्यवाद के बाद नकार देना पड़ा है
Ax

6

मुझे सब कुछ अनदेखा करने की आवश्यकता थी लेकिन उपनिर्देशिकाओं के साथ एक फ़ोल्डर नहीं।

मेरे लिए, यह काम करता है

# Ignore everything
/*

# Not these directories
!folder/

# Not these files
!.gitignore
!.env
!file.txt

5

मान लें कि आपके पास इस तरह की एक निर्देशिका संरचना है:

– sites
– -all
– – – -files
– – – – – -private
– – – – – – – -newspilot
– -default
– – – -files
– – – – – -private
– – – – – – – -newspilot

जब आप केवल साइटों / सभी / फ़ाइलों / निजी / न्यूज़ीलॉट और साइटों / डिफ़ॉल्ट / फ़ाइलों / निजी / न्यूज़िलॉट को अनुमति देना चाहते हैं, तो आप पहले यह प्रयास कर सकते हैं:

sites/*/files/*
!sites/*/files/private/newspilot

ये गलत है! Gitignore के साथ मुश्किल बात यह है कि आपको सबसे पहले पेरेंट ("निजी") डायरेक्टरी को शामिल करने की अनुमति देनी होगी, इससे पहले कि आप इसकी चाइल्ड डायरेक्टरी ("न्यूजलेटर") को कमिट्स में शामिल करने की अनुमति दे सकें।

sites/*/files/*
!sites/*/files/private
sites/*/files/private/*
!sites/*/files/private/newspilot

http://www.christianengvall.se/gitignore-exclude-folder-but-include-a-subfolder/


"आपको सबसे पहले मूल निर्देशिका को शामिल करने की अनुमति देनी होगी, इससे पहले कि आप इसकी बाल निर्देशिका को अनुमति दे सकें" - इसे इंगित करने के लिए धन्यवाद! ठीक मेरी समस्या थी।
जेट ब्लू

4

यारिन के जवाब ने मेरे लिए काम किया, यहाँ मेरा संस्करण है (मुझे /wordpressउप-निर्देशिका की आवश्यकता नहीं है ):

*

!.gitignore
!/wp-content/
!/wp-content/themes/
!/wp-content/themes/*
!/wp-content/themes/*/*
!/wp-content/themes/*/*/*
!/wp-content/themes/*/*/*/*
!/wp-content/themes/*/*/*/*/*

# I don't want to track this one, so it's included here, after the negated patterns. 
wp-content/themes/index.php

4

कई बार इस सवाल पर वापस आने के बाद भी मैं हमेशा इस पर अटक जाता हूं। मैं इसे चरणबद्ध तरीके से करने की एक विस्तृत प्रक्रिया के साथ आया हूं:

सबसे पहले उपयोग करें git add वास्तविक सामग्री जोड़ने के लिए करें।

यह अनुक्रमणिका में जोड़े गए प्रासंगिक फ़ाइलों को दिखाएगा जबकि अन्य सभी अभी भी अनट्रैक किए गए हैं। यह .gitignoreकदम से कदम को रोकने में मदद करता है ।

$ git add wp-content/themes/my-theme/*
$ git status

    Changes to be committed:
        new file:   wp-content/themes/my-theme/index.php
        new file:   wp-content/themes/my-theme/style.css

    Untracked files:
        wp-admin/
        wp-content/plugins/
        wp-content/themes/twentyeleven/
        wp-content/themes/twentytwelve/
        ...
        wp-includes/
        ...

DUMMY.TXTअपनी निर्देशिका में एक अस्थायी फ़ाइल जोड़ें :

$ git status

    Changes to be committed:
        new file:   wp-content/themes/my-theme/index.php
        new file:   wp-content/themes/my-theme/style.css

    Untracked files:
        wp-admin/
        wp-content/plugins/
        wp-content/themes/twentyeleven/
        wp-content/themes/twentytwelve/
        ...
        wp-content/themes/my-theme/DUMMY.TXT  <<<
        ...
        wp-includes/
        ...

हमारा लक्ष्य अब ऐसे नियमों का निर्माण करना है कि DUMMY.TXTजब हम कर रहे हैं तो यह अभी भी अनट्रैक के रूप में दिखाई दे रहा है।

नियम जोड़ना शुरू करें:

.gitignore

/*

पहले एक सब कुछ को अनदेखा करना है। अनट्रैक की गई फाइलें सभी चली जानी चाहिए, केवल अनुक्रमित फाइलें दिखनी चाहिए:

$ git status

    Changes to be committed:
        new file:   wp-content/themes/my-theme/index.php
        new file:   wp-content/themes/my-theme/style.css

पथ में पहला डायर जोड़ें wp-content

/*
!/wp-content

अब अनट्रैक की गई फाइलें फिर से दिखाई देंगी, लेकिन केवल wp-content सामग्री है

$ git status

    Changes to be committed:
        new file:   wp-content/themes/my-theme/index.php
        new file:   wp-content/themes/my-theme/style.css

    Untracked files:
        wp-content/plugins/
        wp-content/themes/twentyeleven/
        wp-content/themes/twentytwelve/
        ..

पहले डायर की हर बात को इग्नोर करें /wp-content/* और अन-!/wp-content/themes

/*
!/wp-content

/wp-content/*
!/wp-content/themes

अब अनट्रैक की गई फाइलें आगे चलकर केवल संकीर्ण हो जाएंगी wp-content/themes

$ git status

    Changes to be committed:
        new file:   wp-content/themes/my-theme/index.php
        new file:   wp-content/themes/my-theme/style.css

    Untracked files:
        wp-content/themes/twentyeleven/
        wp-content/themes/twentytwelve/
        ..

उस डमी फ़ाइल तक प्रक्रिया को दोहराएं जो अभी तक केवल अनट्रैक के रूप में दिखा रहा है:

/*
!/wp-content

/wp-content/*
!/wp-content/themes

/wp-content/themes/*
!/wp-content/themes/my-theme

$ git status

    Changes to be committed:
        new file:   wp-content/themes/my-theme/index.php
        new file:   wp-content/themes/my-theme/style.css

    Untracked files:
        wp-content/themes/my-theme/DUMMY.TXT

3

क्लीनर की तलाश करने वालों के लिए समाधान की , कृपया निम्नलिखित प्रयास करें।

जैसा कि इस उत्तर की टिप्पणियों में उल्लेख किया गया है , आपको इस विधि का पुनरावर्ती उपयोग करना होगा।

इस उदाहरण में, आपके पास एक वेबसाइट सेटअप है ./जहां आपका .gitफ़ोल्डर और .gitignoreफ़ाइल स्थित है और एक वर्डप्रेस इंस्टॉलेशन सेटअप है ./wordpress। थीम ./wordpressनिर्देशिका के अलावा निर्देशिका के तहत सब कुछ सही ढंग से अनदेखा करने के लिए ( wordpress/wp-content/themes/my-theme), आपको पुन: अनदेखा करना होगा और प्रत्येक निर्देशिका को तब तक अनुमति देना होगा जब तक कि निर्देशिका आप अनुमति नहीं देना चाहते:

wordpress/*
wordpress/wp-content/*
wordpress/wp-content/themes/*
!wordpress/wp-content
!wordpress/wp-content/themes
!wordpress/wp-content/themes/my-theme

वाइल्डकार्ड के साथ अनदेखा करने और अनुमति देने का कारण (या, 'को छोड़कर' को अनदेखा करना) निर्देशिका ही Git को हर चीज़ को अनदेखा करने से पहले निर्देशिका के अंदर देखने में सक्षम बनाती है। इसके बाद हमने Git से कहा कि वह 'हमारे द्वारा निर्दिष्ट' निर्देशिका के अलावा सब कुछ अनदेखा करें। यहाँ एक ही वाक्यविन्यास है लेकिन Git इसे कैसे देख रहा है के क्रम में:

wordpress/*                            # Ignore everything inside here
!wordpress/wp-content                  # Apart from this directory

wordpress/wp-content/*                 # Ignore everything inside here
!wordpress/wp-content/themes           # Apart from this directory

wordpress/wp-content/themes/*          # Ignore everything inside here
!wordpress/wp-content/themes/my-theme  # Apart from this directory

उम्मीद है कि यह किसी को पुनरावर्ती पद्धति की आवश्यकता को बेहतर ढंग से समझने में मदद करता है।


3

पार्टी के लिए देर से लेकिन यहाँ मैं अज्ञात गहराई के लिए क्या उपयोग करता हूं (स्वीकृत समाधान को ज्ञात गहराई की आवश्यकता है)

/*
!.gitignore
!wp-content/
!*/

इस तरह से wp-content के तहत सब कुछ नजरअंदाज नहीं किया जाता है।


3

कई बार इसकी आवश्यकता होने के बाद मैंने अंततः एक समाधान ढूंढ लिया है [1]:

/*/
/*.*
!.git*
!/wordpress

स्पष्टीकरण लाइन द्वारा लाइन:

  1. रूट पर सभी निर्देशिकाओं को अनदेखा करें ।
  2. रूट पर एक्सटेंशन वाली सभी फ़ाइलों को अनदेखा करें।
  3. .gitignoreस्वयं (और संभावित .gitattributes) की अनुमति दें ।
  4. सभी उपनिर्देशिकाओं के साथ वांछित निर्देशिका की अनुमति दें

[१] सीमाएँ (जो मुझे पता है):

  1. यह रूट पर एक्सटेंशन के बिना फ़ाइलों को अनदेखा नहीं करता है (और जोड़ रहा है) /* से पूरी योजना टूट जाएगी)।
  2. वह निर्देशिका जिसे आप पंक्ति 4 में शामिल करना चाहते हैं ( wordpressइस मामले में) .नाम में नहीं हो सकता है (जैसे wordpress.1काम नहीं करेगा)। अगर यह एक है. , तो लाइन 2 को हटा दें और सभी फ़ाइलों को रूट पर बाहर करने का एक और तरीका ढूंढें।
  3. केवल Windows पर परीक्षण किया गया git version 2.17.1.windows.2

3

एक और आसान उपाय:

आप सभी Wordpress फ़ाइलों को अनदेखा करना चाहते हैं, लेकिन आपकी थीम (उदाहरण के लिए) नहीं।

.गरिग्नोर , सामग्री है:

# All wordpress + content of revert ignored directories
wordpress/*
wordpress/wp-content/*
wordpress/wp-content/themes/*

# Revert ignoring directories
!wordpress/
!wordpress/wp-content/
!wordpress/wp-content/themes/
!wordpress/wp-content/themes/my_theme

इस उदाहरण में, आप निकाल सकते हैं वर्डप्रेस अगर .gitignore में है जड़ वर्डप्रेस निर्देशिका

आप प्रत्येक फ़ोल्डर और सामग्री के साथ ठीक वैसा ही कर सकते हैं, जिसे आप "असाधारण रूप से" चाहते हैं gitignored फ़ोल्डर्स / फ़ाइलों से बाहर रखें

निष्कर्ष:

उस पथ के सभी निर्देशिकाओं को निर्दिष्ट करना सुनिश्चित करें जिसे आप असाइन करना चाहते हैं

परंतु

बिना बताए निर्देशिका की सभी सामग्री को अनदेखा करना सुनिश्चित करें जिसे आप अनदेखा करना चाहते हैं


2

आप यह कोशिश कर सकते हैं:

!**/themes/*

कहां :

  • !: उपेक्षा उपेक्षा (शामिल)
  • ** - कोई भी निर्देशिका ट्री (पुनरावर्तन) ताकि आपको फ़ोल्डर पथ निर्दिष्ट न करना पड़े
  • थीम: आपके फ़ोल्डर को शामिल करने के लिए (कुछ भी हो सकता है)
  • *: उस फ़ोल्डर में कोई भी फ़ाइल, आप सभी सबफ़ोल्डर्स को ** के साथ शामिल कर सकते हैं और इसके बजाय किसी भी फ़ाइल (*) को शामिल करने के लिए आप विशिष्ट * .css, * .xy हो सकते हैं।

2

यहाँ मेरा समाधान है, जो एक चेकआउट मानता है wp-content

# Ignore everything except directories
*
!*/

# except everything in the child theme and its required plugin
!/themes/mytheme-child/**
!/plugins/my-plugin/**

# and this file
!.gitignore

और परीक्षण:

git version 2.20.1 (Apple Git-117)
$ git check-ignore -v .foo foo foo/ themes/foo themes/foo/bar themes/mytheme-child \
themes/mytheme-child/foo plugins/foo plugins/my-plugin plugins/my-plugin/foo .gitignore
.gitignore:2:*  .foo
.gitignore:2:*  foo
.gitignore:2:*  foo/
.gitignore:2:*  themes/foo
.gitignore:2:*  themes/foo/bar
.gitignore:2:*  themes/mytheme-child
.gitignore:6:!/themes/mytheme-child/**  themes/mytheme-child/foo
.gitignore:2:*  plugins/foo
.gitignore:2:*  plugins/my-plugin
.gitignore:7:!/plugins/my-plugin/** plugins/my-plugin/foo
.gitignore:10:!.gitignore   .gitignore

इसलिए यह सही ढंग से सब कुछ की अनदेखी करता है जो मैं नहीं चाहता और कुछ भी नहीं जो मैं रखना चाहता हूं।

जारी कोड

Gitlab संरक्षित शाखाओं के लिए भंडार दर्पण के साथ कॉन्फ़िगर किया गया है, के अनुसार https://docs.gitlab.com/ee/workflow/repository_mirroring.html

जब कोड को एक संरक्षित शाखा में धकेल दिया जाता है, तो यह नंगे रेपो में मचान और उत्पादन सर्वर को दिखाया जाएगा /opt/checkout/repo.git/। निम्नलिखित post-receiveहुक ( /opt/checkout/repo.git/hooks/post-receiveतब) कार्य निर्देशिका में कोड की जांच करेगा।

#!/bin/bash

BRANCH=staging
GIT_DIR=/opt/checkout/repo.git
GIT_WORK_TREE=/opt/bitnami/apps/wordpress/htdocs/wp-content

# on push, checkout the code to the working tree
git checkout -f "${BRANCH}"

# ensure permissions are correct
sudo chown -R bitnami:daemon "${GIT_WORK_TREE}"
sudo chmod -R go-w "${GIT_WORK_TREE}"

अधिक जानकारी के लिए, https://www.digitalocean.com/community/tutorials/how-to-set-up-automatic-deployment-with-git-with-a-vps


1

यहाँ मैंने यह कैसे किया:

# Ignore everything at root:
/*

# Except for directories:
!wordpress/(WordPress Site 1)/wp-content/themes/
!wordpress/(WordPress Site 1)/wp-content/themes/
!wordpress/(WordPress Site 1)/wp-content/themes/

# Except files:
!README

#Except files of type:
!*.txt

इसी से मेरा काम बना है। आपको विशिष्ट फ़ाइलों या फ़ोल्डरों को छोड़कर सब कुछ अनदेखा करने की अनुमति देता है

macOS सिएरा


0

मैं एक ही नाव में एक रेपो के तहत वर्डप्रेस साइटों के एक समूह का प्रबंधन करने की कोशिश कर रहा हूं। मेरी निर्देशिका संरचना इस तरह दिखती है:

root (git repo)
(WordPress Site 1)/app/public/wp-content/themes
(WordPress Site 2)/app/public/wp-content/themes
(WordPress Site 3)/app/public/wp-content/themes

मैं app/publicप्रत्येक साइट के लिए फ़ोल्डर के अंदर की वस्तुओं को ट्रैक करना चाहता हूं । मैंने इस पृष्ठ के नमूनों के साथ-साथ यहाँ कुछ सुझावों की भी कोशिश की और इसे समाप्त करने की कोशिश की:

/(WordPress Site 1)/*
!(WordPress Site 1)/app
(WordPress Site 1)/app/*
!(WordPress Site 1)/app/public

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

फिर मैंने बस साइट का नाम बदल दिया *और उसने मेरे लिए चाल चली। तो यह वही है जो मैंने उपयोग किया है:

/*/*
!*/app
*/app/*
!*/app/public

इसने साइट के फोल्डर में मौजूद हर चीज को प्रभावी ढंग से नजरअंदाज करते हुए सब कुछ कैप्चर किया app/public मैं रूट में किसी भी साइट के लिए फ़ोल्डर करता हूं।

ध्यान दें कि यह रूट में फ़ाइलों को अनदेखा नहीं करेगा, बस निर्देशिका :)

उम्मीद है की यह मदद करेगा।


0

यह एकमात्र फ़ाइल है जिसे अधिकांश मामलों में अनदेखा किया जाता है, क्योंकि आपके पास wp-config-sample.php है जो आप इसे दूसरों के साथ साझा कर सकते हैं।

/wp-config.php
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.