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

Question:

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?

Asked By: BenMills

||

Answers:

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”)

Answered By: Cascabel

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)

Answered By: davr

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.

Answered By: Fedor

In Windows this worked for me:

git rm -r '*.pwc' -f

And for keeping it in .gitignore

echo '*.pwc' >> .gitignore
Answered By: Igor Savinkin
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.