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 .gitignore
file
You can go to gitignore.io and type some words like xcode
, node
, osx
, or whatever platform/IDE you use for development and generate a pretty good .gitignore
base file.
Create or Update local .gitignore
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).
Happy Gitting!