How to .gitignore files recursively

前端 未结 4 1400
太阳男子
太阳男子 2020-12-12 23:17

I\'m trying to avoid the following pattern in my .gitignore file.

MyPrject/WebApp/Scripts/special/*.js
MyPrject/WebApp/Scripts/special/*/*.js
My         


        
相关标签:
4条回答
  • 2020-12-12 23:53

    Following gitignore manual page:

    [...] git treats the pattern as a shell glob suitable for consumption by fnmatch(3) with the FNM_PATHNAME flag: wildcards in the pattern will not match a / in the pathname.

    So, this clearly stands that there is no way to specify a certain amount of directories between two strings, like between special and js.

    Nevertheless, you can have a .gitignore file per directory, so maybe in your case the following content

    *.js
    

    at the following place

    MyPrject/WebApp/Scripts/special/.gitignore
    

    would be sufficient?

    0 讨论(0)
  • 2020-12-12 23:54

    Try executing git rm -r --cached MyPrject/WebApp/Scripts/special/ Your mentioned directory might have been cached by git and will show up on untracked files. After clearing the cache make sure you have it mentioned on .gitignore.

    0 讨论(0)
  • 2020-12-13 00:03

    This works for me in on osx.

    lib64/**/__pycache__/
    lib/**/__pycache__/
    *.py[cod]
    .ipynb_checkpoints/
    **/.ipynb_checkpoints/
    .DS_Store
    **/.DS_Store
    
    0 讨论(0)
  • 2020-12-13 00:04

    As of git 1.8.2, this:

    MyPrject/WebApp/Scripts/special/**/*.js
    

    Should work according to this answer. It also works for me in Windows 7 using Sourcetree 1.6.12.0 and the version of git that it installs (1.8.4-preview20130916).

    To gitignore every file and folder under a directory recursively:

    MyPrject/WebApp/Scripts/special/**
    
    0 讨论(0)
提交回复
热议问题