鱼的记忆|gitgnore
gitgnore
gitgnore语法记忆
忽略文件原则
- 忽略操作系统自动生成的文件,比如缩略图等;
- 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库
- 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。
语法规范
- 空行或是以#开头的行即注释行将被忽略;
- 以斜杠 “/” 结尾表示目录;
- 以星号 “*” 通配多个字符;
- 以问号 “?” 通配单个字符
- 以方括号 “[]” 包含单个字符的匹配列表;
- 以叹号 “!” 表示不忽略(跟踪)匹配到的文件或目录;
- 可以在前面添加斜杠 “/” 来避免递归,下面的例子中可以很明白的看出来与下一条的区别。
配置文件实例
- 忽略 .a 文件
*.a
- 但否定忽略 lib.a, 尽管已经在前面忽略了 .a 文件
!lib.a - 仅在当前目录下忽略 TODO 文件, 但不包括子目录下的 subdir/TODO
/TODO - 忽略 build/ 文件夹下的所有文件
build/ - 忽略 doc/notes.txt, 不包括 doc/server/arch.txt
doc/*.txt - 忽略所有的 .pdf 文件 在 doc/ directory 下的
doc/*/.pdf
python
Byte-compiled / optimized / DLL files
pycache/
*.py[cod]
*$py.class
C extensions
*.so
Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
PyInstaller
Usually these files are written by a python script from a template before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
Installer logs
pip-log.txt
pip-delete-this-directory.txt
Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
Translations
*.mo
*.pot
Django stuff
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
Flask stuff
instance/
.webassets-cache
Scrapy stuff
.scrapy
Sphinx documentation
docs/_build/
PyBuilder
target/
Jupyter Notebook
.ipynb_checkpoints
IPython
profile_default/
ipython_config.py
pyenv
.python-version
pipenv
ccording to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.However, in case of collaboration, if having platform-specific dependencies or dependencies having no cross-platform support, pipenv may install dependencies that don’t work, or not install all needed dependencies.
Pipfile.lock
celery beat schedule file
celerybeat-schedule
SageMath parsed files
*.sage.py
Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
Spyder project settings
.spyderproject
.spyproject
Rope project settings
.ropeproject
mkdocs documentation
/site
mypy
.mypy_cache/
.dmypy.json
dmypy.json
Pyre type checker
.pyre/
本文使用 CC BY-NC-SA 3.0 中国大陆 协议许可
具体请参见 知识共享协议
本文链接:https://zyhang8.github.io/2019/09/28/gitgnore/