I sometimes come upon existing applications that use Git where files were added to the repository that should have originally been ignored. Sometimes this is because the
.gitignore file is missing, or because certain rules were not include that probably should have been from the start.
There are ways in
git to completely rewrite history to remove all traces of the file, however most of the time, it's good to leave a commit saying
removed files that should have originally been ignored as a good starting point (depending on the project/repo).
Here is a small workflow I've found to be pretty effective in helping to clean up a repository, or at least let you know what files would have originally been ignored had you setup a
.gitignore file with some project standards...
Create a well meaning
You can go to gitignore.io and type some words like
osx, or whatever platform/IDE you use for development and generate a pretty good
.gitignore base file.
Create or Update local
Once you've update your local
.gitignore file with the rules you'd like to use, you can use the below to commit your changes;
git add .gitignore git commit -m 'updating .gitignore'
Remove the files that should have originally been ignored.
Now we want to figure out what files may have been added originally that shouldn't be there. You can run the following two commands to see which files to find this out.
git rm --cached -r . git add .
Now if you
git status you can see what files should probably be deleted from the git repo and using the newly updated
.gitignore file will now be ignored going forward.
Go ahead an commit these changes (assuming you're happy with what is being deleted and ignored).