Keep your git directory clean with `git clean` and `git trash`

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

だけは残す

コメントを残す

メールアドレスが公開されることはありません。