1

簡単なエイリアスを作成する方法は知っていますが、削除されたファイルをディスクからステージング解除するための非常に便利なコマンドがあり、それを機能させることができません。

git rm $(git ls-files --deleted)

(ここから ディスクからすでに削除されている Git リポジトリから複数のファイルを削除する

私は試してみました:

git config --global alias.cleandeleted 'rm $(git ls-files --deleted)'

しかし、私が書くとき:

git cleandeleted

次のエラーが表示されます。

error: unknown option `deleted)'
usage: git rm [options] [--] <file>...

    -n, --dry-run         dry run
    -q, --quiet           do not list removed files
    --cached              only remove from the index
    -f, --force           override the up-to-date check
    -r                    allow recursive removal
    --ignore-unmatch      exit with a zero status even if nothing matched
4

1 に答える 1

5

問題は、$(...). あなたが定義したように、git は git intern コマンドのみを処理し、$(...).

コマンドを機能させるためのトリックがあります。

git config --global alias.cleandeleted '!git rm $(git ls-files --deleted)'

エイリアスがあるため!、コマンドがコマンド ラインに直接与えられたかのように機能します。

于 2013-05-27T17:16:01.593 に答える