使用git如何批量对文件进行rm操作
大家讲道理
大家讲道理 2017-04-21 10:57:25
0
5
789

用了一段时间git了,一直有个问题没解决。当做了一些修改时,一般会直接 "git add ." 先将文件staged起来。

但是"git add ."对被删除的内容是无效的,还需要"git rm filename"删除文件,但是git rm命令貌似没有类似"git rm ."的用法(这样可以执行,但意思是删除所有文件),于是,当有比较大量的文件被删除时,一个个的git rm非常麻烦。。我现在基本上都是到gui的git(比如mac的Tower)中全选,批量Stage搞定,但是,命令行下面如何做比较方便呢,难道要自己写个脚本?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(5)
洪涛
git add -A

它会把我们未通过 git rm 删除的文件全部stage

阿神

还有个git commit -a可以用, 大致是删除的文件会自动标记, 但对新建文件就不行

-a, --all ____ Tell the command to automatically stage files that have been modified and deleted, but new files you have not told git about are not affected.
伊谢尔伦

git 可以用glob 模式通配符。Git 也有它自己的文件模式扩展匹配方式 比如 git rm *.c 删除当前目录及递归所有子目录下.c结尾的文件。 git rm *.c 则只删除当前目录的.c 文件。

小葫芦

我之前也遇到楼主的问题,困惑很久,每次都要手动去清cach的文件。
今天百度到楼主这里,也没有找到答案,然后刚好遇到需求,就想了一下,有一个办法。
1、先把缓存中的文件清空。
git rm -r --cached 某个目录
2、再把所有文件重新加入缓存
git add .

左手右手慢动作

git rm * -f删除当前git项目下的所有文件(包括所有目录)

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板