目录

不要提交的内容

当您使用 pub 工具GitHub 或其他源代码管理系统将 Dart 源代码放入存储库时,不要包含 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 中的更改而导致依赖项更改时,差异将在锁定文件中显而易见。