不应提交的文件
当您将 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 upgrade
或 pubspec.yaml
中的更改导致依赖项发生变化时,这些差异都将在锁定文件中显而易见。