[英]How to remove only files and ignore subfolders on GIT
我希望能够删除本地文件夹和github中的所有文件,但我有一个我不想触摸的子文件夹。
如何在忽略子文件夹的同时删除所有文件?
如果你正在运行* nix:
find . -maxdepth 1 -type f | xargs git rm
在文件夹里面。
为了避免删除隐藏文件(例如.gitignore
):
find . -maxdepth 1 -type f | grep -v '/\.' | xargs git rm
您可以将.git和子文件夹复制到repo之外。
$ cp .git ~/TEST
$ cp sub-folder-name ~/TEST
然后删除所有文件和文件夹
$ rm -rf *
复制repo中的.git和子文件夹
$ cp ~/TEST/.git .
$ cp ~/TEST/sub-folder-name .
然后推送到github
$ git push -f origin master
我的想法是:
git rm *.{fileending1,fileending2,...}
要么:
git rm yourfirstfile yoursecondfile ...
提交并推送结果
git rm -r \*
git read-tree -u --prefix=path/to/it/ @:path/to/it
如果要保留索引状态,请在@
上面插入x=`git write-tree`
,在$x
中插入@
。
因为这会杀死你的.gitignore
你可以制作一个不受攻击的
!*
path/to/it/
然后git clean -df
将擦除除该路径中的那些之外的所有未跟踪文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.