目次

コミットしてはいけないもの

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の変更があるたびに、ロックファイルの違いが明らかになります。