我想取消所有文件删除操作的暂存状态,有简单的方法吗?
我希望将此应用于所有删除操作的文件模式。
我想取消所有文件删除操作的暂存状态,有简单的方法吗?
我希望将此应用于所有删除操作的文件模式。
git status --porcelain的输出是构建一行命令和脚本的好方法,用于执行此类任务:git status --porcelain | awk '$1 == "D" {print $2}' | xargs git reset HEAD
git status
返回的路径/文件名包含空格
,则可以修改对awk
的调用以包括整个(带引号的)路径/文件名,包括空格:git status --porcelain|awk '$1 == "D" {print substr($0, index($0,$2))}'|xargs git reset HEAD
万一其他人也使用 PowerShell 进行 git 操作,这里是 @jefromi 出色答案的 PowerShell 版本:
git status --porcelain | where { $_.StartsWith(" D") } | foreach-object { git reset HEAD $_.replace(" D ", "") }
sed -n '/^D /s/^D //p
。 - Cascabel