目录

不应提交的内容

将 Dart 源代码放入代码仓库(使用 pub 工具GitHub 或其他源代码管理系统)时,请勿包含 IDE 或代码编辑器、pub 工具以及其他工具生成的大部分文件。

规则

#

不要提交 pub 创建的以下文件和目录:

.dart_tool/
build/
pubspec.lock  # 应用包除外

不要提交 dart doc 创建的 API 文档目录:

doc/api/

不要提交 其他开发环境创建的文件和目录。例如,如果您的开发环境创建了以下任何文件,请考虑将它们放入全局忽略文件:

# IntelliJ
*.iml
*.ipr
*.iws
.idea/

# Mac
.DS_Store

更多详细信息,请继续阅读。

详细信息

#

通常情况下,只提交人们使用您的包或源代码仓库所需的文件。包含额外文件是不必要的,可能会适得其反,如果您泄露有关您机器设置的详细信息,还可能存在安全隐患。在许多源代码仓库中,常见的做法是根本不提交生成的文件。

为避免提交特定于您个人工作流程或设置的文件,请考虑使用全局忽略文件(例如, .gitignore_global )。

在 Git 仓库内使用 pub 时,pub 会忽略 Git 忽略的相同文件。例如,如果您从包含 keys.txt.gitignore 文件的 Git 仓库运行 pub publish ,则发布的包将不包含 keys.txt 文件。

有关 .gitignore 文件的更多信息,请参阅 GitHub 帮助页面 忽略文件

.dart_tool/

#

.dart_tool/ 目录包含各种 Dart 工具使用的文件。

pubspec.lock

#

pubspec.lock 文件是一个特殊情况,类似于 Ruby 的 Gemfile.lock

对于普通包不要提交 pubspec.lock 文件。重新生成 pubspec.lock 文件可以让您针对其依赖项的最新兼容版本测试您的包。

对于应用包 ,我们建议您提交 pubspec.lock 文件。对 pubspec.lock 文件进行版本控制可以确保对传递依赖项的更改是明确的。每次由于 dart pub upgradepubspec.yaml 的更改导致依赖项更改时,lock 文件中都会显示出差异。