从github删除敏感数据

摘要:
我一直在找如何在Git中永久删除某些文件的办法,这个问题也是花费我时间最多的一个Git问题,所幸最后终于在GitHub的帮助页面“Removingsensitivedata”中找到了答案。对于这些几十兆的大文件我一直“耿耿于怀”,现在GitHub上的库终于轻松了,大小只有1M了。

http://help.github.com/removing-sensitive-data/

照着做似乎没有用

http://yihui.name/cn/2010/12/animation-update-1-1-5/

再看了上面这个链接就可以了

http://blog.enjoyrails.com/2008/12/31/git%E4%B8%80%E5%88%86%E9%92%9F%E6%95%99%E7%A8%8B/

git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch public/wp-config.php' HEAD

git filter-branch -f --index-filter 'git rm -r --cached --ignore-unmatch config/deploy.rb' HEAD

git push blog master --force

节上传了animation v1.1-5到CRAN FTP,不过估计管理员都度假去了,要等一阵子才能放出来了。这次更新主要有两个变化:一是增加了命名空间(NAMESPACE),这玩意儿是我以前没太搞明白的东西,现在明白它的优势了(控制哪些对象是对用户可见的);二是把saveLatex()函数大幅度改写了一下,尤其是用“黑魔法”让它能自动应付Sweave,如果它探测到自己是在Sweave环境中,那么会自动根据代码段的标签和前缀生成动画文件并插入LaTeX文档,而且有选项overwrite = TRUE/FALSE控制是否重画动画(可以看作是最初级的“缓存”方法)。从此以后,在Sweave文档中动态生成动画就方便了,如此一来,也算不辜负这个包被收录在ReproducibleResearch的CRAN Task View中。至于怎么在Sweave中生成动画,若有人感兴趣,我也可以下次在统计之都主站上介绍一下,这东西应该对一些人有用。

我一直在找如何在Git中永久删除某些文件(包括它们的历史记录)的办法,这个问题也是花费我时间最多的一个Git问题,所幸最后终于在GitHub的帮助页面“Removing sensitive data”中找到了答案。尽管我并不完全明白工作原理,但好歹这个办法管用了:

1
2
3
4
5
6
7
## 注意Windows下用双引号
git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch path/to/your/file'HEAD
git push origin master --force
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now
git gc --aggressive --prune=now

当时从SVN迁到Git的时候犯了个错误:把整个库都迁过来了(我应该只迁一个子目录),但实际上很多文件都是我不想放到这边来的,比如那些二进制图片文件。它们让整个库的体积增大了太多,而版本控制工具的特点就是记录你对文件的所有操作,包括删除,即使在当前版本中删除了,Git也会在历史记录中记下这些文件,以便随时可以恢复回去。对于这些几十兆的大文件我一直“耿耿于怀”,现在GitHub上的库终于轻松了,大小只有1M了。

爷还想看:

免责声明:文章转载自《从github删除敏感数据》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇layer第二个按钮点击后关闭的解决方法使用openssl在windows 10下本地xampp配置https开发环境下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

[Git] git代码统计

copy : https://www.cnblogs.com/liyropt/archive/2012/12/31/2841053.html 命令行 查看git上的个人代码量: git log --author="username" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; lo...

git基本命令--远程

git clone: # clone到 <本地目录名>$ git clone <版本库的网址> <本地目录名># 克隆版本库的时候,所使用的远程主机自动被Git命名为origin。如果想用其他的主机名,需要用git clone命令的-o选项指定。 $ git clone -o jQuery https://github...

vscode中git设置不显示未跟踪的文件

Git:改进了未跟踪的文件管理 现在,您可以使用Git : 未跟踪的 Untracked Changes设置分别管理未跟踪的文件 。 如果要在“ Source Control视图中的单独组中查看未跟踪的文件,请选择<xqdd_highlight_new_word word="separate" class="xqdd_highlight_new_w...

git 用命令下载代码到本地

在mac上面下载很简单; 直接进入这个目录然后: git clone http://gitlab.alibaba-inc.com/damai-mz/mz-common.git 就可以了,就这么简单: Last login: Thu Jun 18 09:54:30 on console ➜ ~ git:(master) ✗ cd /Users/yinfuq...

git代码合并与冲突

场景: 开发人员:A和B 1、A拉取master分支:git pull orgin master; 2、B拉取master分支:git pull orgin master; 3、A在分支上开发功能上传到远程代码库,merge到远程master分支上; A创建新的分支release/dev1: git checkout -b release/dev...

git push rejected

在ideal里面突然无法提交代码了 于是使用命令行: git push; 报错: 写入对象中: 100% (30/30), 3.62 KiB | 928.00 KiB/s, 完成. 总共 30 (差异 13),复用 0 (差异 0) remote: ======================================================...