首页 > 其他分享 >git-清空历史提交记录(保留原仓库)

git-清空历史提交记录(保留原仓库)

时间:2024-06-22 11:32:04浏览次数:10  
标签:git 提交 仓库 orphan master branch 清空 分支

0.备份

进行操作之前,一定一定要先备份,你直接copy项目文件夹也行。

1. 创建一个新的孤立分支

首先,创建一个新的孤立分支(没有历史记录)

git checkout --orphan new-branch

--orphan 参数:

  • 孤立分支:使用 --orphan 创建的分支没有任何父提交记录,因此没有任何历史记录。这使得它看起来像一个全新的初始提交。
  • 用途:这种方式常用于创建一个干净的开始,保留当前工作目录的所有文件,但清空了所有历史记录。

2. 添加所有文件

添加所有文件到新分支

git add .

3. 提交更改

提交这些更改

git commit -m "Initial commit with latest version of code"

4. 删除旧的分支

删除旧的主分支

git branch -D master

5. 重命名新的分支为主分支

将新的孤立分支重命名为主分支

git branch -m master

6. 强制推送到远程存储库

最后,强制推送新的主分支到远程存储库。

git push -f origin master

7.完整步骤总结

git checkout --orphan new-branch
git add .
git commit -m "Initial commit with latest version of code"
git branch -D master
git branch -m master
git push -f origin master

注意:强制推送 (-f 选项) 会覆盖远程存储库的历史记录。

这样,新的主分支将只有一个提交记录,该记录包含当前代码库的最新版本。

所有旧的提交记录都将被清空。

标签:git,提交,仓库,orphan,master,branch,清空,分支
From: https://www.cnblogs.com/yang37/p/18262042

相关文章

  • Git的安装及使用
     官网:GitforWindows   点击下载安装。 右击鼠标会出现GUI和Bash  选择gitbashhere 配置全局用户名和邮箱(gitee)gitconfig--globaluser.name"你的名字"gitconfig--globaluser.email你的邮箱 查看配置gitconfiguser.namegitconfig–list......
  • GitCode Copilot强大的代码助手
    GithubCopilot是由GitHub和OpenAI联合开发的一款人工智能(AI)驱动的代码助手。它基于大量的开源代码和编程语言知识进行训练,可以帮助开发人员快速生成高质量的代码片段。本文将介绍如何使用GithubCopilot以及它的常用快捷键。安装和设置:首先,确保你的开发环境中已经安装了GitH......
  • AWX+gitlab
    目录AWX+gitlab1.Awx配置1.1添加机构1.2添加团队1.3添加主机1.4测试主机连通性2.对接gitlab2.1添加凭证2.2添加项目2.3上传playbook2.3.1克隆仓库2.3.2创建分支2.3.3编写playbook并上传2.3.4上传ansible.cfg(可选)2.3.5创建作业模板2.4测试AWX+gitlab我们可以将pl......
  • Git常用命令
    一、git的作用:-代码回溯:Git在管理文件过程中会记录日志,方便回退到历史版本-版本切换:Git存在分支的概念,一个项目可以有多个分支(版本),可以任意切换-多人协作:Git支持多人协作,即一个团队共同开发一个项目,每个团队成员负责一部分代码,通过Git就可以管理和协调-......
  • 迁移与备份、Dockerfile、docker 私有仓库
    【迁移与备份】1#1镜像从哪来的?21dockerpull拉的,远程仓库--》国内镜像站342通过容器打包成镜像5-centos镜像运行成容器---》装了vim6-把装了vim的容器---》打包成镜像7-以后拿到这个镜像--》再运行成容器,都会带......
  • github怎么设置本地push代码
    从github拉取公开代码使用gitpull即可但是如果想要push则会报错clone代码本次使用个人测试的公开代码因为是公开代码无需验证即可clone#gitclonehttps://github.com/liuyueming/salt.git修改代码提交即使输入的用户名和密码正确也会报错#gitaddtest[root@docke......
  • PDI-ce-9.4 资源仓库
    1、启动shspon.sh2、创建资源仓库    3、连接资源库 4、使用资源库shpan.sh-rep=mysql-repository-user=admin-pass=admin-trans=mysql_2_xls_s32024/06/2116:24:23-Pan-开始运行.2024/06/2116:24:23-RepositoriesMeta-Readingrepositorie......
  • Git版本回退更新(强制回退、记录回退)
    一.reset的使用方法(会覆盖,不太建议)1.gitlog查看要回退的版本号(也可以代码仓库直接查看版本号)2.使用gitreset--hard(目标版本号)命令将版本回退gitreset--harddaf5cfec176f7b4ab0f11912e84555ec01297e4e3.再强制push到远程,让远程仓库和当前分支保持一致(假定当前......
  • 从 GitHub 自动化部署到网页性能优化
    前提一切都和速度有关,手动部署慢,网页加载慢。首先解决部署问题。代码是托管在Github上的,那么使用GithubActions是一种自然的选择。但是上一次使用GitHubActions已经是一年前了,现在除了知道这东西的存在其他基本都忘了。第二,当前网页打开速度太慢(15s+),当然服务器配置......
  • Git改变历史-章节笔记
    Git改变历史悔棋修改最近一次提交信息gitcommit--amend除了想要修改最近一次提交信息外,另一个用处是生成Change-ID。在克隆了代码和钩子文件后,如果代码提交中没有Change-ID,而后续需要提交到gerrit无法自动生成Change-ID报错时,使用此命令。修改最近一次提交中的文件gitc......