Reputation: 4781
How can I remove all files and folders that I'm storing on git repo, but keep the repository? Is there some command for restarting git repo? I've found many examples on this, but I've made even bigger mess. The repository is linked. So if someone is willing to explain it to me step by step I would be very thankful.
Upvotes: 46
Views: 117691
Reputation: 118
Reset commit or index or worktree
git reset --hard <commit> # reset commit, index and worktree
Remove the reflogs
git reflog expire --expire=all --all # clear reflog
Cleanup unnecessary files and optimize the local repository
git gc --prune=now
Upvotes: 2
Reputation: 37712
if you only have a local git repository
if you want to erase your whole history and start over again:
cd <repo>
rm -rf .git
git init
and start committing again.
If you want to remove both files and history:
cd <repo>
rm -rf *
git init
and start adding files and committing...
if you are linked with a remote repository if you want to start over again, but don't really mind some old history remaining; there is a quick way:
git pull
git rm -r *
git commit
git push
now your repository is empty again, you'll only have some old history remaining. if you also want to clean up all your history; that takes a little more work (and note that this will cause trouble for anyone else linked to that same remote repository):
git checkout <first commit hash>
git rm -r *
touch README
git add README
git commit --amend
git push -f
note that I create a empty README file for the first commit, since a commit cannot be empty.
Upvotes: 62
Reputation: 1323115
If you are talking about an existing remote repo (and not just a local repo, which is trivial to do), you can:
git push origin --delete <branchName>
(see "Delete a Git branch both locally and remotely")make a new orphan master branch (see "How can I completely empty the master branch in Git?")
git branch -D master
git checkout --orphan master
make at least one commit and push it.
Upvotes: 9