内容

不应提交的内容

当您将 Dart 源代码放入存储库中(使用 pub 工具GitHub 或其他源代码管理系统)时,请勿包含 IDE 或代码编辑器、pub 工具和其他工具生成的大多数文件。

规则

#

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

.dart_tool/
build/
pubspec.lock  # Except for application packages

不要提交 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 中的更改而发生变化时,锁定文件中的差异将很明显。