目錄

什麼不該提交

當您將 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 中的變更而導致相依性變更時,差異將會在鎖定檔案中顯現出來。