Skip to content

Instantly share code, notes, and snippets.

@stephenhardy
Created April 26, 2013 22:14
Show Gist options
  • Save stephenhardy/5470814 to your computer and use it in GitHub Desktop.
Save stephenhardy/5470814 to your computer and use it in GitHub Desktop.
Steps to clear out the history of a git/github repository
-- Remove the history from
rm -rf .git
-- recreate the repos from the current content only
git init
git add .
git commit -m "Initial commit"
-- push to the github remote repos ensuring you overwrite history
git remote add origin [email protected]:<YOUR ACCOUNT>/<YOUR REPOS>.git
git push -u --force origin master
@ayrokid
Copy link

ayrokid commented Nov 13, 2021

thanks you so much

@nolawnchairs
Copy link

Works fine for me. I had a customer who never finished paying me for work, so nuked the code in the remote repo and added my ransom to the README.

@mchapman87501
Copy link

...
git push --mirror --force

Thank you, @heshanlk.

@lzkill
Copy link

lzkill commented Dec 20, 2021

Adding a variable to capture the default branch name (it might be master or main):

#!/bin/bash

default_branch=`basename $(git symbolic-ref --short refs/remotes/origin/HEAD)`

git checkout --orphan tmp
git add -A				# Add all files and commit them
git commit
git branch -D $default_branch		# Deletes the default branch
git branch -m $default_branch		# Rename the current branch to default
git push -f origin $default_branch	# Force push default branch to github
git gc --aggressive --prune=all		# remove the old files

@jrson83
Copy link

jrson83 commented Dec 27, 2021

Thanks.

@graciofilipe
Copy link

❤️

@FossPrime
Copy link

Save yourself a world of pain and use main as default branch... blame Github monopoly for causing this chaos.
In git 2.23 / replit's default / NixOS 22_05 default, use the following, as it has no concept of default branch:

git branch main
git checkout main
git branch -d master

@Code-Case
Copy link

Code-Case commented Nov 22, 2022

Using just a branch isnt a good concept for branching.

Its always depends about how your workflow looks like and then learn how to branch.

Best regards

@samih-sghier
Copy link

worked like charm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment