👥
git clean -ffdx
-f が2つ?
偶然見かけて疑問に思ったので調べてみました。
git clean を実行する際、オプションは -fdx にすることが多いと思います。
Git will refuse to modify untracked nested git repositories (directories with a .git subdirectory) unless a second -f is given.
Git は通常 untracked なネストされた Git リポジトリ(.git サブディレクトリを含むディレクトリ)を変更しませんが、2つ目の -f を渡すと消してくれるようです。
git clean -ffdx
各オプションの説明
-f, --force
Git 設定で clean.requireForce が false になっていない場合、git clean は -f または -i が与えられないとファイルやディレクトリを削除しません。
先に述べた通り2つ目の -f を与えるとネストされた Git リポジトリも削除対象にします。
-d
再帰的にディレクトリを削除します。(ただし -f で触れたネストされた Git リポジトリを除く)
-x
.gitignore や $GIT_DIR/info/exclude などの gitignore 設定に含まれているファイルやディレクトリも削除対象にします。
Discussion