解决git提交敏感信息(回退git版本库到某一个commit)
2016-09-14 15:48
423 查看
git是一个很好的版本库, 现在很多人用它, 并在github上创建项目, 相信大家都有过将敏感信息提交版本的经历, 如何删除? 好像只有删除版本库来解决, 其实我们可以通过回退版本库删除相应的commit来将提交的敏感信息去掉.
首先我们将本地代码的更改备份一下, 以防丢失更改
备份完数据, 我们就可以先回退本地的版本库
接下来如果你直接提交会发现提交不了, 说远端做了更改需要先pull一下, 如果pull咱们就白白做上面的操作, 所以我们可以在别的分支操作
下面我们可以删除并重建主分支, 如果是
这样我们就删除之前提交的敏感信息(如果是
备份本地代码
首先我们将本地代码的更改备份一下, 以防丢失更改
回退本地代码的commit
备份完数据, 我们就可以先回退本地的版本库git reset --hard HEAD~1 # 回退到上一次的提交, 如果是上n次就将1改成对应的数字
回退远端版本库
接下来如果你直接提交会发现提交不了, 说远端做了更改需要先pull一下, 如果pull咱们就白白做上面的操作, 所以我们可以在别的分支操作
新建一个分支, 并提交
git checkout -b temp git push origin temp:temp
重建主分支
下面我们可以删除并重建主分支, 如果是 github的话需要将
Default Branch切换到别的分支(项目主页->Settings即可看到)
git push origin --delete master # 删除远端主分支 git branch -d master # 删除本地主分支 git checkout -b master # 新建主分支并切换到主分支 git push origin master # 提交主分支
这样我们就删除之前提交的敏感信息(如果是
github现在就可以把默认分支切换到
master)
删除临时分支
git branch -d temp git push origin --delete temp
相关文章推荐
- 全新的适配方式AutoLayout
- 下拉刷新自定义的接口和方法
- 解决 linux下编译make文件报错“/bin/bash^M: 坏的解释器:没有那个文件或目录” 问题
- 第四章 对象与类-----笔记
- Web API
- 《nodejs+gulp+webpack基础实战篇》课程笔记(六)--附加课
- hibernate几种映射关系的笔记
- Java数字证书的一些实例
- 使用Weka进行数据挖掘
- java 小游戏人机猜拳 关键代码
- Face Alignment at 3000 FPS via Regressing Local Binary Features
- Sprint.Net 依赖注入
- Hibernate+MySQL简单实例
- 二叉树的存储结构
- 十四章上机1
- android添加 DOUBLETAP键值
- JS实现显示当前时间,精确到秒
- 进入注册表一些常用的命令大全汇总
- Android应用保活分析
- 格拉姆-斯密特过程