9

我想取消暂存所有文件删除。有没有简单的方法?

我想将此应用于所有删除的文件模式。

4

4 回答 4

29

的输出git status --porcelain是为以下任务构建单行代码和脚本的好方法:

git status --porcelain | awk '$1 == "D" {print $2}' | xargs git reset HEAD
于 2010-11-22T20:15:00.650 回答
3

如果您返回的路径/文件名git status包含 space字符,则awk可以修改调用以包含整个(引用的)路径/文件名,包括空格:

git status --porcelain|awk '$1 == "D" {print substr($0, index($0,$2))}'|xargs git reset HEAD
于 2014-10-07T12:32:22.677 回答
1

以防万一其他人将 git 与 PowerShell 一起使用,这里是 @jefromi 出色答案的 powershell 版本:

git status --porcelain | where { $_.StartsWith(" D") } | foreach-object { git reset HEAD $_.replace(" D ", "") }
于 2015-05-06T07:23:33.160 回答
-1

请参阅本书中的“取消暂存文件”部分。

于 2010-11-22T20:08:12.497 回答