如何在不手动输入所有文件的完整路径的情况下轻松删除多个文件git rm?我有很多我想保留的修改过的文件,因此删除所有已修改的文件也是不可能的.
而且还可以在不手动输入的情况下还原多个文件的更改git checkout -- /path/to/file?
Man*_*ish 28
你可以给通配符git rm.
例如
git rm *.c
Run Code Online (Sandbox Code Playgroud)
或者你可以写下另一个文件中所有文件的名称,比如说filesToRemove.txt:
path/to/file.c
path/to/another/file2.c
path/to/some/other/file3.c
Run Code Online (Sandbox Code Playgroud)
你可以自动化:
find . -name '*.c' > filesToRemove.txt
Run Code Online (Sandbox Code Playgroud)
打开文件并查看名称(以确保它没问题).
然后:
cat filesToRemove.txt | xargs git rm
Run Code Online (Sandbox Code Playgroud)
要么:
for i in `cat filesToRemove.txt`; do git rm $i; done
Run Code Online (Sandbox Code Playgroud)
检查联机帮助页以xargs获取更多选项(特别是如果文件太多).
我发现git rm对通配符的处理很烦人。Find 只需一行即可完成此操作:
文件
find . -name '*.c' -exec git rm {} \;
名将{}被替换。它的伟大之处find在于它可以过滤各种各样的文件属性,而不仅仅是名称。
| 归档时间: |
|
| 查看次数: |
21542 次 |
| 最近记录: |