去除GIT某个时间之前的提交日志

news/2024/11/28 15:59:45/

背景

有时git提交了太多有些较早之前的提交日志,不想在git log看到,想把他删除掉。

方法

大概思路是通过 git clone --depth 来克隆到指定提交的代码,此时再早之前的日志是没有的

然后提交到新仓库

#!/bin/bash
ori_git="git@your.git.path/ori-prj.git"   #源仓库
ori_branch="master" 
ori_path="ori-prj"dest_git="git@your.git.path/dest-prj.git" #需要提交到变更后的仓库
dest_branch="master"
dest_path="dest-prj"
previous_commit="41059bbcc349de4faccf484326a94d3c816cdd05" #从哪个id开始拉,不包含当前idif [ -d "$ori_path" ]; thenecho "$ori_path exist"
elseecho "git clone $ori_git --branch=$ori_branch $dest_path"git clone $ori_git --branch=$ori_branch $ori_path
ficd $ori_path
git pull
#判断分支是否存在, 没有的话拉一下
if test -z "$(git branch |grep $ori_branch)"; thengit checkout remotes/origin/$ori_branch -b $ori_branch
fi
git checkout $ori_branch# 获取id对应的深度
current_commit=$(git rev-parse HEAD)
commit_count=$(git log --oneline $previous_commit..$current_commit | wc -l)echo $commit_countcd ..
#只克隆到指定id的提交记录
rm -rf $dest_path
git clone $ori_git --depth=$commit_count  --branch=$ori_branch $dest_path
cd $dest_path
git filter-branch -- --all # 要执行下这命令,不然推不上去
git remote rename origin old-origin
git remote add origin $dest_git
git push origin $ori_branch:$dest_branch --force
echo $ori_branch:$dest_branch
cd ..


http://www.ppmy.cn/news/1324138.html

相关文章

银河麒麟操作系统 v10 中离线安装 Docker

银河麒麟操作系统 v10 中离线安装 Docker 1. 查看系统版本2. 查看 Linux 内核版本(3.10以上)3. 查看 iptabls 版本(1.4以上)4. 判断处理器架构5. 离线下载 Docker 安装包6. 移动解压出来的二进制文件到 /usr/bin 目录中7. 配置 Do…

如何禁用WordPress站点的管理员电子邮件验证或修改检查频率?

今天boke112百科登录某个WordPress站点时,又出现“管理员邮件确认”的提示,要求确认此站点的管理员电子邮箱地址是否仍然正确。具体如下图所示: 如果点击“稍后提醒我”,那么管理员邮件验证页面就会在3天后重新显示。 说实话&…

从零开始学习Zeppelin:大数据可视化分析的交互式开发系统!

介绍:Apache Zeppelin是一个基于Web的交互式开发系统,主要用于进行大数据可视化分析。其核心概念是notebook,所有的操作都可以在notebook中完成。Zeppelin提供了一套非常全面的数据分析解决方案,支持数据采集、数据发现、数据分析…

spring boot集成loback日志配置

1.spring boot中application.properties配置 logging.configclasspath:loback-config.xml 2.配置loback-config.xml <?xml version"1.0" encoding"UTF-8"?> <!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR <…

docker安装 unexpected wsl error

docker unexpected wsl error 问题描述&#xff1a; 很诡异的一个问题 大概现象和这个帖子很像 https://developer.aliyun.com/article/1395485 docker版本4.26.1 系统&#xff1a; windows 10 winR 输入winver可以看见自己的版本号 华为matebook 16s 重装的Win10 解决流程…

产品经理与产品运营的区别和联系

一、两者的职责区别 产品经理的目的&#xff1a;是创造有价值的产品 产品运营的目的&#xff1a;是让产品能有效的发挥出它应有的价值 二、两者的工作内容区别产品经理的工作内容 产品的经理的目的是创造有价值的产品&#xff0c;因此产品经理的所有工作都是围绕着&#xf…

Demo: 实现PDF加水印以及自定义水印样式

实现PDF加水印以及自定义水印样式 <template><div><button click"previewHandle">预览</button><button click"downFileHandle">下载</button><el-input v-model"watermarkText" /><el-input v-mo…

React Native实现QQ等级皇冠太阳星星的展示-代码示例

代码 function LevelGetImages(level: number) {let res []const marks [{ mod: 20, image: Images.setting.level_king },{ mod: 15, image: Images.setting.level_queen },{ mod: 10, image: Images.setting.level_moon },{ mod: 5, image: Images.setting.level_star },…