【发布时间】:2011-05-14 01:50:57
【问题描述】:
我想取消暂存所有文件删除。有什么简单的方法吗?
我想将此应用于所有删除的文件模式。
【问题讨论】:
标签: git delete-file git-add git-stage
我想取消暂存所有文件删除。有什么简单的方法吗?
我想将此应用于所有删除的文件模式。
【问题讨论】:
标签: git delete-file git-add git-stage
请参阅“取消暂存文件”in this book 部分。
【讨论】:
以防万一其他人在 PowerShell 中使用 git,这里是 @jefromi 出色答案的 powershell 版本:
git status --porcelain | where { $_.StartsWith(" D") } | foreach-object { git reset HEAD $_.replace(" D ", "") }
【讨论】:
如果您从git status 返回的路径/文件名包含
space 字符,对awk 的调用可以修改为包括
整个(引用的)路径/文件名,包括空格:
git status --porcelain|awk '$1 == "D" {print substr($0, index($0,$2))}'|xargs git reset HEAD
【讨论】:
git status --porcelain 的输出是为这样的任务构建单行代码和脚本的好方法:
git status --porcelain | awk '$1 == "D" {print $2}' | xargs git reset HEAD
【讨论】:
sed -n '/^D /s/^D //p。