git清除历史提交记录保持本地文件不变

https://www.cnblogs.com/langkyeSir/p/14528857.html

git删除历史版本,保留当前状态。

有时候,我们误提交了某些隐私文件,使用git rm xxx删除后,其实版本库中是有历史记录的,想要删除这些记录,但是又不想删除仓库,重建来提交。那么就想办法删除历史记录了。

我们当然不能直接删除.git文件夹,这将导致git存储库出现不可预知的问题。

要删除所有提交历史记录,但将代码保持在当前状态,可以按照以下方式安全地执行此操作:

  1. 创建并切换到latest_branch分支

    复制代码
    git checkout --orphan latest_branch
  2. 添加所有文件

    复制代码
    git add -A
  3. 提交更改

    复制代码
    git commit -am "删除历史版本记录,初始化仓库"
  4. 删除分支

    复制代码
    git branch -D master
  5. 将当前分支重命名

    复制代码
    git branch -m master

    BASH 复制 全屏

  6. 强制更新存储库

    复制代码
    git push -f origin master

    BASH 复制 全屏

解决方案来自:如何删除GitHub中的所有提交历史记录?

相关推荐
挖掘狂人4 小时前
Git 从 0 到 1:用一个小项目走完 add / commit / reset / merge / rebase / push
git·后端·github
codigger5 小时前
Git 三区域模型:把 add、commit、reset、merge 一次讲透
git·github·编程·编程语言
水饺编程5 小时前
第1章:开发环境搭建,在 Windows 中安装 Git
linux·c语言·汇编·git·ubuntu
idanzk5 小时前
Git 推送 GitHub 报 SSL_READ /src refspec main 不匹配 完整踩坑记录
git·github·ssl
星恒随风8 小时前
Linux开发工具详解(二):Git版本控制、GitHub协作与GDB调试实战
linux·笔记·git·学习·github
寺中人1 天前
Xshell 完全入门指南:从安装到实战,远程连接+文件传输+会话管理全拆解
git·ssh·github·php·远程连接·xshell·运维工具
酬谢神明则必安1 天前
git学习记录01
linux·git·学习
lingchen19061 天前
版本控制 Git源代码项目管理
git
虫无涯1 天前
Coverity 如何结合 GJB8114-2013使用?
git·单元测试·嵌入式测试·coverity·静态扫描
喵本喵叁肆1 天前
Git 深度解读:从对象模型到分支指针,把版本控制的内核讲透
git