7
A
答えて
23
git status --porcelain
の出力は、このようなタスクのためのワンライナーとスクリプトを構築するための素晴らしい方法です:git status
から返さ
git status --porcelain | awk '$1 == "D" {print $2}' | xargs git reset HEAD
-1
1
場合は、あなたのpath- /ファイル名は space
文字を含む、awk
への呼び出しスペースを含むパス/ファイル名(引用された) 全体を含むように変更することができます。
git status --porcelain|awk '$1 == "D" {print substr($0, index($0,$2))}'|xargs git reset HEAD
0
念の誰の用途にPowerShellを使用しgitのは、ここでの@ jefromiの優れた解答のPowerShellのバージョンである:
git status --porcelain | where { $_.StartsWith(" D") } | foreach-object { git reset HEAD $_.replace(" D ", "") }
素晴らしい。ありがとう!!私はいくつかのgrep、sedとawkを学ぶ必要があるように見えます。 – Jacko
@ジャコ:確かに便利なもの。 'sed -n '/^D/s/^ D // p'でもsedで簡単にこれを行うことができました。 – Cascabel
私の前のコメントには一重引用符がありません。 – Cascabel