1、删除.git目录并重新初始化

如果你想彻底清空所有git记录并从头开始,最简单的方法就是直接删除.git目录并重新初始化仓库

rm -rf .git  # 删除 Git 目录
git init     # 重新初始化 Git 仓库
git add .    # 添加所有文件
git commit -m "init commit"  # 创建新的提交

优点:

  1. 彻底清空所有提交记录
  2. 简单明了

缺点:

  1. 需要重新设置下 .gitignore 文件
  2. 远程仓库地址会丢失,需要重新添加下

2、创建无历史的新分支

如果你希望清空提交历史但仍保留.git目录和远程仓库,可以使用 --orphan 创建一个新的无历史分支

git checkout --orphan clean-master #重新拉一个无历史的新分支

git add .    #添加所有文件
git commit -m "init commit"  #初始化提交分支

git branch -D master  # 删除旧的 main 分支
git branch -m master  # 将 clean-master 重命名为 main

git push --force origin master # 强制推送到远程分支 !!!慎重!!!

优点:

  1. 保留 .git 目录,不影响 Git 相关配置。
  2. 代码保留,但所有历史提交会被清空。

缺点:

  1. 远程仓库需要强制推送,可能影响团队成员。

3、手动复制代码到新仓库(最彻底的方法)

如果你希望彻底摆脱所有历史记录,并创建一个全新的仓库,最干净的方法是手动复制代码,创建一个新目录,然后复制你的代码(不包括 .git 目录)。

git init  # 进入到项目目录,初始化
git add .  #添加所有文件
git commit -m "init commit" #初始化提交

git remote add origin <repo-url>  # 添加一个远程仓库
git push -u origin master --force  # 强制推送

优点:

  1. 绝对干净,没有任何历史遗留问题。

缺点:

  1. 需要手动迁移远程仓库,上面处理的只是本地的。
  2. 远程仓库记录需要自行处理

总结

方法适用情况是否保留.git文件是否远程强制推送
删除.git目录并重新初始化彻底重置,最简单
创建无历史的新分支只想清空提交记录
手动复制代码到新仓库最干净

这里推荐使用第2种方式,需要注意的是强制推送到远程仓库是否有影响