gitignore – How & Why

最终结果

# 前端项目

## 生成文件
_*
dist/

## Node.js
node_modules/
jspm_packages/
bower_components/
.nyc_output/
coverage/

# 编辑器

## Sublime
*.sublime-workspace

## Webstorm
.idea/
*.iws

## Visual Studio
.vs/
**/[Bb]in/[Dd]ebug/
**/[Bb]in/[Rr]elease/
[Oo]bj/
*.sln.*
*.vshost.*
*.suo
*.user
_ReSharper*/
*.ReSharper
.ntvs_analysis.dat
**/[Bb]in/Microsoft.NodejsTools.WebRole.dll

# 操作系统

## 临时文件
*.tmp
*.log
*~
._*

## Windows
$RECYCLE.BIN/
Desktop.ini
ehthumbs.db
Thumbs.db

## OSX
.DS_Store

设计理念

为了节约开发成本,本人一直崇尚一个原则:能通用的地方则尽量通用,而不是等到具体问题具体分析。

这个 gitignore 在设计上考虑了多数前端/Node.js项目的使用场景,同时兼顾性能。

规范

  • 文件夹以 / 结尾,以和文件区分;
  • 根目录下的文件以 / 开头;
  • 类似编码规范,规定以 _ 开头的是私有文件。如果需要添加新的忽略文件,优先考虑前缀 _,而不是修改 .gitignore

注解

# 前端项目

## 生成文件
_*                  # 规定以 _ 开头的文件是私有的,不提交
dist/               # 目前前端行业习惯将生成生成到 dist

## Node.js          # 以下是 Node.js 生态常用的工具,建议每个人手动生成这些文件,而非共享。
node_modules/       # NPM 生成
jspm_packages/      # JSPM 生成
bower_components/   # Bower 生成
.nyc_output/        # NYC 生成
coverage/           # NYC 生成

## 注意,package-lock.json 不应该忽略:确保所有人引用相同版本的包。

# 编辑器
## 为了照顾多数人的开发习惯,忽略主流 IDE 生成文件

## Sublime
*.sublime-workspace # Sublime 工作空间文件

## Webstorm
.idea/              # Intellij IDEA/Webstorm 生成
*.iws               # Intellij IDEA/Webstorm 生成

## Visual Studio
.vs/                # VS 2017+ 生成的文件
**/[Bb]in/[Dd]ebug/ # VS 2017 Build 后生成
**/[Bb]in/[Rr]elease/ # VS 2017 Build 后生成
[Oo]bj/             # VS 2017 Build 后生成
*.sln.*             # VS 2017+ 生成
*.vshost.*          # VS 2017+ 生成
*.suo               # VS 2017+ 生成
*.user              # VS 2017+ 生成
_ReSharper*/        # VS Reshaper 插件生成
*.ReSharper         # VS Reshaper 插件生成
.ntvs_analysis.dat  # VS Node.js 插件生成
**/[Bb]in/Microsoft.NodejsTools.WebRole.dll # VS Node.js 插件生成

# 操作系统

## 临时文件
*.tmp               # 行业约定的临时文件
*.log               # 行业约定的系统日志文件
*~                  # 部分 IDE 使用此文件作为独占标记
._*                 # 部分 IDE 使用此文件作为临时标记

## Windows
$RECYCLE.BIN/       # 如果文件夹被共享,则会生成 $RECYCLE.BIN 用于存放被删除的文件
Desktop.ini         # Windows 用来存储文件夹信息
ehthumbs.db         # Windows 7+ 用来存储图片缩略图
Thumbs.db           # Windows XP 用来存储图片缩略图

## OSX
.DS_Store           # OSX 用来存储文件夹布局信息
打赏
微信扫一扫支付
这篇文章对你有用?
微信logo 微信扫一扫,打赏 1 元表示支持吧~

发表评论

电子邮件地址不会被公开。