Git repos have lots of write protected files in the .git
directory, sometimes hundreds, and the default rm my_project_managed_by_git
will prompt before deleting each write protected file. So, to actually delete my project I have to do rm -rf my_project_managed_by_git
.
Using rm -rf
scares me. Is there a reasonable way to delete git repos without it?
If you’re that worried, why not run chmod -R u+w .git inside the project dir to “un write-protect” the files, then just ascend to the directory containing the project dir (cd …) and use rm -r without -f?
The force flag (-f) is the scary one, I presume?
Maybe use a graphical file manager?
Or move the folder to /tmp or so.
That’s a good suggestion for some, but I’m quite comfortable with the command line.
It’s not that I’m irrationally scared of
rm -rf
. I know what that command will do. If I slow down an pay attention it’s not as though I’m worried “I hope this doesn’t break my system”.What I really mean is I see myself becoming quite comfortable typing
rm -rf
and running it with little thought, I use it often to delete git repos, and my frequent use and level of comfort with this command doesn’t match the level of danger it brings.Just moving them to
/tmp
is a nice suggestion that can work on anywhere without special programs or scripts.You don’t sound like you’re comfortable with the command line.
A tip I saw some time ago is to do:
rm folder -rf
Additionally you could move the git folder to the trash folder. I think it’s usually located at $HOME/.local/share/trash/files/
Then you can delete it from the trash once you’re certain you got the right folder
Additionally you could move the git folder to the trash folder. I think it’s usually located at $HOME/.local/share/trash/files/
Moving something to the trash files folder isn’t the correct way to trash it, since the Trash specification requires storing some metadata for each trash item.
You should use eg.
trash-cli
instead.
So… you’re afraid of the command that does the thing you’re trying to do?
More like, I’m afraid of the command doing more than I’m trying to do.
What I want to do is ignore prompts about write-protected files in the
.git
directory, what it does is ignore all prompts for all files.so why not
rm -rf folder/.git/*
thenrm -r folder/*
Maybe they’re afraid of accidentally writing
rm -rf folder/.git /*
or somethingThat’s a good example. If I’m regularly running a command that is a single whitespace character away from disaster, that’s a problem.
Imagine a fighter aircraft that had an eject button on the side of the flight stick. The pilot complains “I’m afraid I might accidentally hit the eject button when I don’t need to”, but everyone responds “why would you push the eject button if you don’t want to eject?”, or “so your concern is that the eject button will cause you to eject…?” – That’s how I feel right now.
chmod -R 777 my_project_managed_by_git && rm -r my_project_managed_by_git