标签 git 下的文章

如果不小心再某一次commit了一个含有敏感信息的文件,如公共的数据库配置。然后又不小心上传至github或者其他远程仓库中,那么想要彻底把此文件删除确实不是一件简单的事情。

因为如果只是在下一次提交中删除或修改了某文件,在git提交的历史中还是能够找到修改前的版本,这个操作无非是掩耳盗铃。

听说前一阵有人专门写爬虫,专门爬云储存的用户名密码,不少人都被黑了。所以如果不小心在git中可能包含敏感信息,commit前一定要仔细检查。

那么如何用正确的姿势删除git中的敏感信息呢?下面看看官方给出的解决步骤:

git删除敏感信息

Reference:

https://help.github.com/articles/remove-sensitive-data/

删除本地提交并推至origin

# 第一步
## 删除本地提交(HEAD为最近一次提交,HEAD^上上次)
git reset --hard commit-id

# 第二步
## 强制推送
git push origin +master
## 或
git push origin HEAD --force

RESET

根据–soft –mixed –hard,会对working tree和index和HEAD进行重置:

git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息 git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可 git reset –hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容

关闭ISSUE

在提交的message中添加如下内容会自动与issue #id关联。是不是很方便啊!

  • fixes #xxx
  • fixed #xxx
  • fix #xxx
  • closes #xxx
  • close #xxx
  • closed #xxx

效果图

Reference:

http://www.cnblogs.com/shure/archive/2012/11/07/2758663.html http://blog.csdn.net/hshl1214/article/details/8084423