繁体   English   中英

如何在GIT上仅删除文件并忽略子文件夹

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM