Skip to main content
Make link clickable and added sample output at the bottom with note that it didn't just nuke your working copy.
Source Link

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 git commit -m 'Remove the now ignored directory "some-directory"' git push origin master 

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 herethere is a helpful guide to that here.

Additionally, note the output from git rm -r --cached some-directory will be something like:

rm 'some-directory/product/cache/1/small_image/130x130/small_image.jpg' rm 'some-directory/product/cache/1/small_image/135x/small_image.jpg' rm 'some-directory/.htaccess' rm 'some-directory/logo.jpg' 

The rm is feedback from git about the repository; the files are still in the working directory.

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 git commit -m 'Remove the now ignored directory "some-directory"' git push origin master 

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:

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 git commit -m 'Remove the now ignored directory "some-directory"' git push origin master 

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 'some-directory/product/cache/1/small_image/130x130/small_image.jpg' rm 'some-directory/product/cache/1/small_image/135x/small_image.jpg' rm 'some-directory/.htaccess' rm 'some-directory/logo.jpg' 

The rm is feedback from git about the repository; the files are still in the working directory.

Source Link
Mark Longair
  • 472.1k
  • 77
  • 427
  • 330

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 git commit -m 'Remove the now ignored directory "some-directory"' git push origin master 

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: