跳到主要内容

什么不应提交

当您将 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 中的更改而发生变化时,差异都会在 lock 文件中显而易见。