Delete all Git Commit History

I am trying to fetch a repo from Github, revert a tag in past, push it to another remote with deleting all history. I can do everything with below except deleting all commit logs. What I am missing?

git clone https://github.com/user/user-repo.git
cd user-repo
git reset --hard tags/v2.0
git remote add stash ssh://git@myserver:7999/myproject/user-repo.git
git push --force stash master

  • Visual Studio 2015 Team Explorer doesn't see existing local repository clone
  • changing git comment of a pushed commit
  • How does Git know that file was renamed?
  • Various ways to remove local Git changes
  • git - apply a commit on another branch to the working copy
  • How can I use Git to track versions of a single file?
  • What is Squashing commits in git?
  • Update an outdated branch against master in a Git repo
  • How to download/clone a new branch from my server git repository into an already created local git repository in my PC with Eclipse EGit
  • git locally, push to tfs remote repo
  • Prevent GitHub for Windows from adding emoticons to my initial commit message
  • Pushing to Github from RStudio
  • 3 Solutions collect form web for “Delete all Git Commit History”

    I thought what you want is a repo like a new one, so deleting the .git/ directory and re-initing it will be more simple.

    git clone https://github.com/user/user-repo.git
    cd user-repo
    git reset --hard tags/v2.0
    
    rm -rf .git/
    git init
    git add .
    git commit -m 'first commit'
    
    git remote add stash ssh://git@myserver:7999/myproject/user-repo.git
    git push --force stash master
    

    You can use git merge --squash to squash all commits into one and then push it.

    Are you basically talking about rolling up all of the commits into one commit or do you want to retain all of the commits but truncate the actual commit message?

    To squash the commits into one (and truncate the final commit message, if you want), you can use an interactive rebase:

    git rebase -i <whatever>
    

    To truncate the actual commit messages but retain all of the commits, use the --msg-filter option to git filter-branch.

    Git Baby is a git and github fan, let's start git clone.