简体   繁体   中英

Remove and ignore all files that have an extension from a git repository

I'm working on a django project with a few other developers and we have recently realized that all the .pwc files in our app cause the commits and repository to be cluttered.

Is there any way I can remove all .pwc files from all child directories in my git repository and then ignore them for any future commit?

Plenty of ways to remove them:

git ls-files | grep '\.pwc$' | xargs git rm

find . -name *.pwc | xargs git rm

Note: If you haven't committed them, just use rm , not git rm .

To ignore them in the future, simply add *.pwc to the .gitignore. (If you don't have one, create a file named .gitignore at the top level of your repository, and just add a single line saying "*.pwc")

You can also use the following:

git rm -r '*.pwc' 

and then make those files ignored by git:

echo '*.pwc' >> .gitignore

The last one is in case if you already have .gitignore file, if not, us single '>' sign.

Jefromi's answer will remove them for the present and the future...you could also remove them in the past using git filter-branch . Of course this has some other ramifications, like requiring everyone else working on the repo to re-checkout (and possibly rebase any work they haven't pushed to the main repo). Depends how big the PWC files are, you may want to do this if they are wasting a lot of diskspace in your repo (since every time you clone a git repo, you get every file and every revision)

In Windows this worked for me:

git rm -r '*.pwc' -f

And for keeping it in .gitignore

echo '*.pwc' >> .gitignore

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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