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中的所有提交历史记录?

相关推荐
K3v22 分钟前
【git】删除本地以及远端已经合并到master的分支
大数据·git·elasticsearch
云攀登者-望正茂4 小时前
将 develop 分支拉取到特性分支时解决合并污染问题
git
金銀銅鐵7 小时前
[git] 如何找到已经“丢失”的 commit?
git·后端
尘世壹俗人7 小时前
linux编译安装git
linux·运维·git
打不了嗝 ᥬ᭄1 天前
Git 原理与使用
git·gitee
m0_614619061 天前
花了一下午学 Git,整理了一份学习笔记
笔记·git·学习
AGV算法笔记1 天前
解决Git> git add -A -- fatal: CRLF would be replaced by LF in Test/Test.cpp
git
Dontla1 天前
VSCode插件Git Graph介绍(Git可视化管理分支、可视化Git)
ide·git·vscode
Echoo华地1 天前
用git diff快速比较文件夹差异并生成报告
linux·git·unix·repository·diff·branch
勤劳打代码1 天前
防微杜渐 —— 为什么一次 Sync 会变成一次 merge?
git·团队管理