まずは、状態の確認をしましょう。
以下は、基本的な Android プロジェクトでの例。
AndroidStudio 新規プロジェクトテンプレートから考える .gitignore https://t.co/1896sDXl4A #プログラミング
— chanzmao (@maochanz) February 13, 2023
■ 位置を確認する
❯ find . -name .gitignore
./app/.gitignore
./.gitignore
./.idea/.gitignore
👉 AndroidStudio 新規プロジェクトテンプレートから考える .gitignore
■ git status
❯ git status
On branch main
Your branch is up to date with 'origin/main'.
nothing to commit, working tree clean
■ git status --ignored
❯ git status --ignored
On branch main
Your branch is up to date with 'origin/main'.
Ignored files:
(use "git add -f <file>..." to include in what will be committed)
.gradle/
.idea/workspace.xml
app/build/
local.properties
nothing to commit, working tree clean
→ ignore 対象が確認できます。
■ git clean -ndX
❯ git clean -ndX
Would remove .gradle/
Would remove .idea/workspace.xml
Would remove app/build/
Would remove build/
Would remove local.properties
■ git check-ignore -v
❯ git check-ignore -v .gradle/
.gitignore:2:.gradle .gradle/
❯ git check-ignore -v .idea/workspace.xml
.idea/.gitignore:3:/workspace.xml .idea/workspace.xml
❯ git check-ignore -v app/build/
app/.gitignore:1:/build app/build/
❯ git check-ignore -v local.properties
.gitignore:15:local.properties local.properties
❯ git check-ignore -v **/*
app/.gitignore:1:/build app/build
app/.gitignore:1:/build app/build/generated
app/.gitignore:1:/build app/build/generated/ap_generated_sources
app/.gitignore:1:/build app/build/generated/ap_generated_sources/debug
app/.gitignore:1:/build app/build/generated/ap_generated_sources/debug/out
app/.gitignore:1:/build app/build/generated/res
...
→ そのファイルを ignore するパターン記述を特定することができます。
■ git ls-files --other --ignored --exclude-standard
❯ git ls-files --other --ignored --exclude-standard
.gradle/7.5.1/checksums/checksums.lock
.gradle/7.5.1/dependencies-accessors/dependencies-accessors.lock
.gradle/7.5.1/dependencies-accessors/gc.properties
.gradle/7.5.1/executionHistory/executionHistory.bin
.gradle/7.5.1/executionHistory/executionHistory.lock
...
→ 実際に ignore されたファイル一覧が確認できます。Adroid プロジェクトでは出力行が多くなるので省略しています。