论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
开源技术
›
开源技术
›
git进行版本控制,push碰到Push cannot contain secrets ...
git进行版本控制,push碰到Push cannot contain secrets,即上传文件包含密 ...
卖不甜枣
金牌会员
|
2024-12-15 09:17:43
|
显示全部楼层
|
阅读模式
楼主
主题
910
|
帖子
910
|
积分
2730
山水寂寥,街街市商人然,住民相安无事。惋惜人无身影,无记忆,无心。男女可以相亲却不能相爱。爱须故意,而心已被嵌入无数的独角兽头盖骨化为古老的梦。—— 村上春树
在项目开发过程中,不免会碰到把敏感信息(如API keys、密码、或私密文件)错误提交到Git仓库的情况(一开始推送gitee没提示我含密匙数据,但是github提示了我)。为了避免这些敏感信息走漏,我们必要从Git历史记录中彻底删除它们。本文先容两种主流的方式来删除敏感信息,一种是使用 filter-repo 工具,另一种是通过修改 .gitignore 文件避免再次提交,别的还会先容官网文档中提供的其他方法。
1 方法一:使用 git filter-repo 工具
git filter-repo 并不是Git的默认命令,所以必要通过 pip 来安装:
1.1 确保安装了 Python 和 pip
如果你还没有安装 Python,请前去Python官网下载安装最新版本,具体安装参考其他相关资料。
安装 Python 时会附带安装 pip,可以使用下面的命令确认是否安装成功:
python --version
pip --version
复制代码
1.2 安装 git-filter-repo
使用 pip 安装 git-filter-repo:
pip install git-filter-repo
复制代码
1.3 确认安装成功
安装完成后,可以通过以下命令检查是否成功安装:
git filter-repo --version
复制代码
1.4 使用 git filter-repo 删除敏感信息
现在你可以使用 git filter-repo 来从仓库中删除敏感信息了。假设我们误提交了一个包含敏感信息的文件 config/secrets.yml。
1.4.1备份仓库(非常重要)
操作会直接修改你的历史记录,建议在操作前备份:
git clone --mirror <repository-url> backup-repo.git
复制代码
1.4.2删除敏感文件: 使用以下命令删除提交历史中的指定文件:
git filter-repo --path config/secrets.yml --invert-paths
复制代码
比方:
这个命令会从整个仓库的历史记录中移除 config/secrets.yml 文件。
然后就可以正常add、commit、push了。
2 方法二:修改 .gitignore 防止敏感信息提交(一劳永逸)
如果你只是想避免敏感文件被错误提交到Git仓库,最简单的方法是通过 .gitignore 文件来忽略它们。固然这种方法无法删除历史记录中的信息,但可以防止未来的误提交。
将必要忽略的文件或文件夹路径添加到 .gitignore 文件中。比方:
如果该文件已经提交过,修改 .gitignore 文件并不能删除它,必要将该文件从暂存区移除:
git rm --cached config/secrets.yml
git commit -m "Remove sensitive file from tracking"
复制代码
然后就可以正常推送了,不必要每次都删掉含私密文件后再上传。
3 其他方法:Git官网文档保举的方法
参考:链接: About push protection from the command line
我一开始用了,好像没用对,照旧不行。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
卖不甜枣
金牌会员
这个人很懒什么都没写!
楼主热帖
Windows安装mysql数据库
基于SqlSugar的开发框架循序渐进介绍( ...
内网渗透-红队内网渗透工具(Viper) ...
2022保密教育线上培训考试 06 ...
嵌入式linux/鸿蒙开发板(IMX6ULL)开发 ...
C# 将HTML转为XML
C语言牛客(NowCoder)刷题——基础语法 ...
嵌入式软件工程师工作经验分享 ...
开源技术交流丨一站式全自动化运维管家 ...
从0到1,实现Java控制台版本的ATM管理系 ...
标签云
存储
挺好的
服务器
快速回复
返回顶部
返回列表