Unable to remove files recursively from Git
I want to remove all files from Git at ~/bin/.
I run
git rm -r --cached ~/.vim/* # Thanks to Pate in finding --cached!
I get
fatal: pathspec '.vim/colors' did not match any files
This error messsage suggests me to use the following PATHs, since ~/.vim/** does not work
~/.vim/* # I get the error
~/.vim/*/*/* # This removes files from the index at ~/.vim/folderA/folderB/file1.txt
~/.vim/*/* # similar error as to the first PATH
How can you remove all files and subdirectories at ~/.vim from Git?
--
git rm -r --cached ~/.vim/*
fatal: pathspec '.vim/colors' did not match any files
1/ You do not need the ' *
':
git rm -r --cached ~/.vim
will take care of any tracked sub-files.
2/ fatal: pathspec '.vim/colors' did not match any files
simply means one of your commands you tried before the one listed in 1/ has worked, and there is no more file to delete!
# to test that command, first reinitialize the state of the repository
# save first if you have any other current modifications
$ git reset --hard
# then check the rm works
$ git rm -r --cached ~/.vim
rm '.vim/aPath/aFile1'
rm '.vim/aSecondPath/aFile2'
rm '.vim/aThirdPath/aFile3'
# try it again
$ git rm -r --cached ~/.vim
fatal: pathspec '.vim/colors
You want to remove them even if there are local modifications?
git rm -rf bin/*
Or do you want to remove from the index but keep the files themselves?
git rm -r --cached bin/*
Also try out:
git help rm
Or it could be that the directory you're trying to recursively remove is in the .gitignore list. I just encountered this. I have ./vendors in my ignore list, and there are a bunch of directories under ./vendors but because anything in vendors is ignored, it's not actually deleting anything like ./vendors/assetic because it's not actually in the repo. I forgot that it was in the ignore list :)
链接地址: http://www.djcxy.com/p/45278.html上一篇: 忽略git项目上的任何'bin'目录
下一篇: 无法从Git递归移除文件