How to fully delete a git repository created with init?
How to fully delete a git repository created with init?
Question
I created a git repository with git init
. I'd like to delete it entirely and init a new one.
Accepted Answer
Git keeps all of its files in the .git
directory. Just remove that one and init again.
If you can't find it, it's because it is hidden.
In Windows 7, you need to go to your folder, click on Organize on the top left, then click on Folder and search options, then click on the View tab and click on the Show hidden files, folders and drives radio button.
On a Mac OS:
Open a Terminal (via Spotlight: press CMD + SPACE, type
terminal
and press Enter) and run:defaults write com.apple.finder AppleShowAllFiles 1 && killall Finder
Note: The keyboard shortcut to show hidden files in Finder is CMD + SHIFT + . so it is no longer necessary to modify the finder config this way
You could also type
cd
(the space is important), drag and drop your git repo folder from Finder to the terminal window, press return, then typerm -fr .git
, then return again.
On Ubuntu, use shortcut Ctrl + H.
Popular Answer
If you really want to remove all of the repository, leaving only the working directory then it should be as simple as this.
rm -rf .git
The usual provisos about rm -rf
apply. Make sure you have an up to date backup and are absolutely sure that you're in the right place before running the command. etc., etc.
Read more… Read less…
If you want to delete all .git folders in a project use the following command:
find . -type f | grep -i "\.git" | xargs rm
This will also delete all the .git folders and .gitignore files from all subfolders
Alternative to killing TortoiseGit:
- Open the TortoiseGit-Settings (right click to any folder, TortoiseGit → Settings)
- Go to the Icon Overlays option.
- Change the Status Cache from Default to None
- Now you can delete the directory (either with Windows Explorer or
rmdir /S /Q
) - Set back the Status Cache from None to Default and you should be fine again...
Where $GIT_DIR is the path to the folder to be searched (the git repo path), execute the following in terminal.
find $GIT_DIR -name *.git* -ok rm -Rf {} \;
This will recursively search for any directories or files containing ".git" in the file/directory name within the specified Git directory. This will include .git/ and .gitignore files and any other .git-like assets. The command is interactive and will ask before removing. To proceed with the deletion, simply enter y, then Enter.
after cloning the repo
cd /repo folder/
to go to the file directory then
ls -a
to see all files hidden and unhidden
.git .. .gitignore .etc
if you like you can check the repo origin
git remote -v
now delete .git which contains everything about git
rm -rf .git
after deleting, you would discover that there is no git linked check remote again
git remote -v
now you can initial your with
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/Leonuch/flex.git
git push -u origin master
You can create an alias for it. I am using ZSH shell with Oh-my-Zsh and here is an handy alias:
# delete and re-init git
# usage: just type 'gdelinit' in a local repository
alias gdelinit="trash .git && git init"
I am using Trash to trash the .git
folder since using rm
is really dangerous:
trash .git
Then I am re-initializing the git repo:
git init