如何安全删除Github上的commit历史

Solution 1

1
2
3
4
5
6
7
8
9
10
11
# 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 git@github.com:<YOUR ACCOUNT>/<YOUR REPOS>.git
git push -u --force origin master

Solution 2

1
2
3
4
5
6
7
git checkout --orphan newBranch
git add -A # Add all files and commit them
git commit
git branch -D master # Deletes the master branch
git branch -m master # Rename the current branch to master
git push -f origin master # Force push master branch to github
git gc --aggressive --prune=all # remove the old files

Solution 3

Delete Github Repo = = ,that’s a sad but useful way to totally delete
Warning : solution 1&2 not delete pull request history (discussion, file changes). If you do this in order to delete sensitive data, you should better delete the github repo (along with all its pull request history etc..) and recreate a new one from scratch.

Finnaly

说了半天,其实还是直接删除repo最安全…… 前两种我理解,大概是指向删除了,并没做物理删除。 = = SAD

EOF