Git ディレクトリに追跡されていないファイルがたくさんあると、コミットのために変更を選択するときに気になりませんか? そんなあなたのために、2つのヒントを紹介しましょう!
git clean
これは、未追跡のファイルをクリーンアップするための組み込みコマンドです。 これはファイルを永久に削除するので注意してください!
Always add -n
or --dry-run
options to preview the damage you’ll do! (source)
- 追跡されていないファイルを削除するだけなら
git clean -f
- ディレクトリも削除したいなら
git clean -f -d
- 無視されたファイルだけを削除したいなら。 実行
git clean -f -X
- 無視されるファイルだけでなく、無視しないファイルも削除したい場合は、実行
git clean -f -x
注意:各例で-f
/ --force
オプションがありますが、これはgitのデフォルト設定によるものです。
git trash
git clean のソフト的な代替手段です。
このコマンドを使うには、まず .trash
ディレクトリをローカルまたはグローバルの .gitignore
に追加する必要があります。
echo ".trash" >> .gitignore
次に、グローバルエイリアスリストに trash
git ショートカットを追加してください:
git config --global alias.trash '!mkdir -p .trash && git ls-files --others --exclude-standard | xargs mv -f -t .trash'
これで完了です。 これで、git リポジトリのルートで git trash
を実行すると、ステージされていないすべてのファイルが .trash
サブディレクトリに移動します。
Related protips:
すべてのローカル git ブランチを削除して master
だけは残す