git怎样忽略指定文件
文章概要:本文重要先容了git中怎样忽略指定文件,包罗已经commit了的文件。解释了gitignore文件的写法以及提供了常见的gitignore模版。
本文内容来自:谷流仓AI - ai.guliucang.com
在寻常写代码使用git的过程中,我们项目有些文件是不适合提交到堆栈的,因此需要让git忽略这些文件, 清除对这些文件的跟踪。文末附录部分会附上一些常见的前后端需要忽略的文件。下面开始讲解怎样操作:
一、修改.gitignore文件
- 创建.gitignore文件
一样平常在创建项目的时候会自动在项目根目次创建.gitignore文件,正如其名称,这个文件就是用来指定忽略跟踪哪些文件的。假如没有这个文件,就在堆栈的根目次创建一个。
- 将需要的清除跟踪的文件大概文件夹加入.gitignore文件中
好比项目中node_modules文件夹不需要追踪,那么就可以在.gitignore文件中加入node_modules即可。
- 假如文件已经commit了,那么还需要删除在git中的记载,输入如下命令好比删除src/main/resources/application-prod.yml文件的跟踪:
- git rm --cached src/main/resources/application-prod.yml
复制代码 然后提交修改即可:- git add .gitignore
- git commit -m "更新.gitignore以忽略特定文件"
复制代码 二、详解.gitignore文件
.gitignore 文件用于告诉 Git 哪些文件或目次是不需要加入版本控制的,即可以被忽略的。这对于清除编译产物、日志文件大概包管理器下载的依靠等是非常有用的。.gitignore 支持以下规则:
- 空行 大概以 # 开头的行会被忽略。
- 可以使用标准的 glob 模式匹配。
- 星号 * 匹配零个或多个任意字符
- [abc] 匹配任何一个列在括号中的字符(比方:a、b 或 c)
- 问号 ? 匹配一个任意字符
- 假如在方括号表达式中使用短划线(如 [0-9]),表现范围(比方:匹配任何数字)。
- 使用双星号 ** 表现匹配任意中心目次,比方 a/**/z 可以匹配 a/z, a/b/z, 或 a/b/c/z
- 正斜杠 / 用来防止递归。
- 要忽略指定路径下的文件,可以在路径前加上斜杠 /(相对于 .gitignore 文件所在位置),好比 /temp/* 仅忽略项目根目次下的 temp 目次内的所有文件。
- 要包含特定文件或目次,请在模式前加上感叹号 ! 来取反。
你可以查阅更多 .gitignore 规则和使用方法:
- Git 官方文档: 访问 Git 官网 的文档部分并搜刮 .gitignore, 此中提供了关于 .gitignore 文件怎样工作和怎样编写规则的官方说明。
- GitHub 的 .gitignore 模板: GitHub 提供了各种语言和情况下通用的 .gitignore 模板。你可以访问 github/gitignore 这个堆栈来找到适合你项目需求的模板。
记得,在创建新堆栈或向现有堆栈添加新类型文件时,正确设置 .gitignore 是一个好习惯,可以避免一些不必要的题目。
三、常见的.gitignore模版
- # Logs
- logs
- *.log
- npm-debug.log*
- yarn-debug.log*
- yarn-error.log*
- pnpm-debug.log*
- lerna-debug.log*
- node_modules
- .DS_Store
- dist
- dist-ssr
- coverage
- *.local
- # unplugin-auto-import
- auto-imports.d.ts
- components.d.ts
- .eslintrc-auto-import.json
- /cypress/videos/
- /cypress/screenshots/
- # Editor directories and files
- .idea
- *.suo
- *.ntvs*
- *.njsproj
- *.sln
- *.sw?
- # .env
- .env.development
- .env.production
复制代码- HELP.md
- /target/
- /**/target/
- !.mvn/wrapper/maven-wrapper.jar
- ### STS ###
- .apt_generated
- .classpath
- .factorypath
- .project
- .settings
- .springBeans
- .sts4-cache
- ### IntelliJ IDEA ###
- .idea
- *.iws
- *.iml
- *.ipr
- ### NetBeans ###
- /nbproject/private/
- /nbbuild/
- /dist/
- /nbdist/
- /.nb-gradle/
- /build/
- ### VS Code ###
- .vscode/
- rebel-remote.xml
- rebel.xml
- ### customize ###
- # 如果是上传到公共仓库,像application.yml这种如果写了各种密码信息的就不要上传了
- # 留个template就行了
- application-dev.yml
- application-prod.yml
- /logs
- # 如果.gitignore文件本身也不想跟踪的话,就把下面的填上
- .gitignore
复制代码- *.py[cod]
- data/*
- *.log
- venv
- .venv
- .idea
- # C extensions
- *.so
- # Packages
- *.egg
- *.egg-info
- dist
- build
- eggs
- parts
- bin
- var
- sdist
- develop-eggs
- .installed.cfg
- lib
- lib64
- __pycache__
- # Installer logs
- docs/_build
- build/*
- *.buildinfo
- # files
- *.mp3
- *.m4a
- *.wav
- *.png
- *.jpg
- *.flac
- *.mo
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |