Remove directory from remote repository after adding them to .gitignore
The rules in your
.gitignore file only apply to untracked files. Since the files under that directory were already committed in your repository, you have to unstage them, create a commit, and push that to GitHub:
git rm -r --cached some-directory
You can’t delete the file from your history without rewriting the history of your repository - you shouldn’t do this if anyone else is working with your repository, or you’re using it from multiple computers. If you still want to do that, you can use
git filter-branch to rewrite the history - there is a helpful guide to that here.
Additionally, note the output from
git rm -r --cached some-directory will be something like:
rm is feedback from git about the repository; the files are still in the working directory.
Revert all local changes
If you want to revert changes made to your working copy, do this:
git checkout .
If you want to revert changes made to the index (i.e., that you have added), do this. Warning this will reset all of your unpushed commits to master!:
If you want to revert a change that you have committed, do this:
git revert <commit 1> <commit 2>
If you want to remove untracked files (e.g., new files, generated files):
git clean -f
Or untracked directories (e.g., new or automatically generated directories):
git clean -fd