[效率工具] Git下对敏感文件/内容的处理

news2025/1/10 11:59:39

🍁简介

🔗 相关资料 :

一文玩转Git

有时候我们提交代码到GitHub/Giglab平台, 发现一不小心把带有账号密码以及服务器地址的代码等敏感信息提交到公共平台,对于这种情况我们应该使用一些方案进行规避。下面就讨论下这些方案!

  • 方法一: 配置文件通过.gitignore排除配置文件
  • 方法二: 把每次的提交的敏感内容删除,然后再提交
  • 方法三: 把每次提交的敏感内容修改掉

🍁 方法 / 步骤

🌿 方法一 : .gitignore排除配置文件

# 在.gitignore文件中添加忽略的文件名
application-prod.yml

# 刷新.gitignore 缓存
git rm -r --cached .
git add .
git commit -m 'update .gitignore'

🌿 方法二 : 提交的敏感内容删除,再提交

在这里插入图片描述

在这里插入图片描述

🌿 方法三 : 把每次提交的敏感内容修改掉

该方法就是重置git所有记录, 只保留当前最后一次的最新记录,慎重操作

可以手动操作:备份当前main分支代码 --> 创建一个空分支temp–> 把备份的代码添加到空分支 --> 提交空分支代码 --> 删除其他分支 --> 更改temp分支名称为main --> 完成

3.1 备份本地代码(重要)

最好物理备份一下当前代码

3.2 本地操作

# 新建分支
git checkout -b temp
git push origin temp:temp
# 重建主分支
# 下面我们可以删除并重建主分支, 如果是github的话需要将Default Branch切换到别的分支(项目主页->Settings即可看到)
git push origin --delete main
git branch -d main
git checkout -b main
git push origin main 
git branch -d temp
git push origin --delete temp

♻ 对已经提交的敏感内容进行修复

克隆目标仓库

# 建立临时目录 git-sensfixed
cd git-sensfixed
# 克隆并且生成xx.git目录
git clone --mirror  https://github.com/xxx/xx.git

在这里插入图片描述

建立替换策略脚本

  • 建立一个文本文件,如replace-wods.txt,根据替换策略,内容如下:

myPwd123 是你要替换的字符

# Replace with ‘***REMOVED***’ (default)
myPwd123

也可以是:

# replace with 'examplePass' instead
#myPwd123==>examplePass

执行脚本

BFG工具官网地址
在这里插入图片描述

java -jar bfg-1.14.0.jar --replace-text replace-wods.txt xx.git
cd xx.git
git reflog expire --expire=now --all 
git gc --prune=now --aggressive
git push

然后查看含有敏感信息的文件的提交历史,就会发现每个历史提交中的敏感信息都被替换成:

***REMOVED***

🍁 参考资料 & 致谢

[1] 利用BFG删除git提交历史中的敏感内容、或者文件
[2] idea中git版本的回退

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/75454.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

『SnowFlake』雪花算法的详解及时间回拨解决方案

📣读完这篇文章里你能收获到 图文形式为你讲解原生雪花算法的特征及原理了解时间回拨的概念以及可能引起发此现象的操作掌握时间回拨的解决方案—基于时钟序列的雪花算法关于雪花算法的常见问题解答 文章目录一、原生的雪花算法1. 简介2. 特征3. 原理3.1 格式&…

什么软件可以去除照片水印?这3种方法可以帮你轻松搞定

大家有过这样的烦恼吗?在网上看到一张喜欢的图片,想要将它保存下来做壁纸,但是却发现图片里面有个大大的水印,十分影响效果。或者是在网上看到一张喜欢的头像,里面也有着一个大大的水印,我们该放弃这张图片…

【能源物联网】物联网体系结构与建筑能源管理系统的相关性分析

摘要: 在能源形势紧张的大趋势下,高能耗的大型公共建筑能源管理系统的建设逐渐受到重视,以物联网技术及基础的建筑能源管理平台可以提供即时、准确、高效的能源管理策略。系统阐述了结合物联网技术的建筑能源管理构建方法,对物联…

低代码助力制造型企业——工时管理系统

生产管理是制造企业的核心职能之一,工时管理是生产管理的重要方法和手段,可以帮助更好的掌控交货期,控制成本,更准确的安排生产计划。在当前激烈竞争的市场环境下,企业必须以现代化的理念结合不断改进的管理方法才能及时抓住发展机…

Aspose.GIS 22.10.0 for .NET Crack

概述 获取最完整和最强大的 API,以创建受其启发并基于它们的新项目,而不是通过为您编写此处已有的内容来浪费资源和精力。适用于 .NET 的 GIS API 是一种使用 GIS 数据的简单方法完全托管的代码,具有简单的界面、部署和数据安全性。 我们的 .…

Python FastAPI 多参数传递

Python FastAPI请求参数传递 FastAPI多参数传递类型 FastAPI通过模板来匹配URL中的参数列表,大致有如下三类方式传递参数: 路径参数传递:获取自定义的构造URL中的参数GET参数传递:获取一个URL后面带的?param11&param22这种…

ubuntu20.04+anaconda+yolov5训练kitti数据集

yolov5安装流程 一、Anaconda安装 1.Anaconda官网:https://www.anaconda.com/products/distribution 2.点击Download,下载For Linux版本 3.到下载的文件夹,输入: bash ~/Downloads/Anaconda3-xxxxxxxxx.sh # 根据下载的文件不同&#xff…

火爆全网的ChatGPT机器人,你玩了吗?

最近几天,由OpenAI公司发布的ChatGPT聊天机器人火了,小杨也怀着对新鲜事物的好奇,亲自体验了一下这个火爆全网,让人沉迷其中无法自拔的ChatGPT聊天机器人,经过体验,我只想用一个字来表达我的感受&#xff0…

⚡通信管理模块⚡

目录 🌳.通信管理模块的介绍 🌳.通信模块的设计 🌳.ListShow函数 🌳.UpLoad函数 🌳.DownLoad函数 下载的断点续传 🌳.通信管理模块的介绍 通信管理模块管理着服务器与浏览器之间的通信: 当服务器收…

猿如意工具-【SwitchHosts】详情介绍

一、什么是猿如意? 在发表文章的契机下,看到了【猿如意】这个名词。处于好奇,点击进行了解。 发现是我们熟悉的CSDN提供的一个面向开发者的辅助开发工具箱,猿如意的意思是-程序猿(员)的如意兵器。 它提供…

Elasticsearch与spring data整合api变化

记录 spring-data-elasticsearch 版本api变化 https://blog.csdn.net/zlpzlpzyd/article/details/128255792 spring boot 2.7.x 对应 spring-data-elasticsearch 4.4.x 排查问题之前先看一下上述链接中版本的对应关系 org.springframework.data.elasticsearch.core.Elastics…

如何搭建真实的性能测试环境?

在编写脚本的同时,执行场景之前需要完成测试环境的搭建工作,这里包括硬件和软件环境的搭建。根据性能测试计划中的测试环境规划,完成对整个测试环境的搭建。由于性能测试的特殊性,整个测试环境需要在严格的独立监控下管理&#xf…

微信建群怎么建?2个方法,快速学会!

​如果你想建立一个微信群来提高工作效率,你该怎么办?微信建群怎么建,找了很长一段时间不到。下面小编分享2个微信建群的方法,可以让您快速学习如何建立微信群!感兴趣的小伙伴可以来看看哦! 微信建群方法一…

JDBC第一章节(从概念到操作)

一、数据持久化存储回顾 1、持久化概述 2. JAVA中的数据存储 二、JDBC概述 1.概述 1.1 概述: 1.2 没有jdbc之前存在一些问题 1.3 有jdbc 之后 1.4 JDBC本质 1.5 优点 三、JDBC API 四、初始JDBC 操作数据库 1、操作步骤概述 2、实操步骤 2.1 导入MySQ…

Vue 实现拖拽模块(三)自定义拖拽组件的样式

上文介绍了 自定义拖拽组件位置 的简单实现,本文将继续给大家分享如何自定义拖拽组件位置的简单实现,文中通过示例代码介绍,感兴趣的小伙伴们可以了解一下 本文主要介绍了 Vue 自定义拖拽组件的样式,具体如下: 支持通过…

番外-LogParser(IIS日志分析)

编写原因:在线的那个信息管理系统,总有人添加空白数据,一加就是很多条,用这个分析一下,再发现之后将其IP拉入黑名单 1,下载安装 网盘下载链接 提取码:229e 文件下载后解压,解压后为…

Lecture5:卷积层、池化层、全连接层

目录 1.卷积层、池化层、全连接层 1.1 全连接层 1.2 卷积层 1.3 池化层 1.卷积层、池化层、全连接层 1.1 全连接层 对全连接层而言,我们要做的就是在这些向量上进行操作,比如我们有一张RGB-D图片,它的大小为32*32*3,我们将所…

vue3 几款值得推荐的UI组件库

推荐几个比较流行的VUE3 UI框架,同时提供出色的开发人员体验,合理利用,又或者学习借鉴都是不错的选择,排名不分先后。 Ant Design Vue 官方网站:https://2x.antdv.com/components/overview/ Ant Design Vue 是一个非…

PingCAP 成为中国唯一入选 Forrester Wave 数据库厂商,被评为卓越表现者

2022 年 12 月 6 日,国际权威研究机构 Forrester 发布了「Forrester Wave™: Translytical Data Platforms, Q4 2022 」报告,企业级开源分布式数据库厂商 PingCAP 作为中国唯一入围的数据库厂商,首次参评该报告即获评“卓越表现者&#xff08…

微服务框架 SpringCloud微服务架构 29 ES 集群 29.3 集群职责及脑裂

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 SpringCloud微服务架构 文章目录微服务框架SpringCloud微服务架构29 ES 集群29.3 集群职责及脑裂29.3.1 ES 集群的节点角色29.3.2 ES集群的分…