@Github的Repository unavailable due to DMCA takedown解决方法(配图)

发表于 2015 年 10 月 23 日 by Judas.n

Github的Repository unavailable due to DMCA takedown解决方法(配图)


我的项目是因为不小心带了JRebel插件破解就被下架,看到这个通知的时候瞬间泪奔呀,这可是花了我几个月的时间呀。当然了,问题还是在自己身上。所以马上打开Gmail准备联系下,才发现 Github有写邮件通知我处理,处理时间上Github也只给了24小时,我们还跟他们有时差,再因为Gmail要VPN等等问题,收到邮件的时候已经超过24小时了,然后又重新申请了一次,邮件的内容我在文章最底下有贴出。

再接到Github的人给的我第二次机会的时候然后我就立马开始跟进处理了(Github应该是有触发机制的,如果侵权的文章没有再指定的时间删除就会被下架,如果再指定时间删除了,项目立马就恢复正常的),处理方法就是看官网这个文章:
https://help.github.com/articles/remove-sensitive-data/

再进行操作之前,请开始准备一个VPN,不然可能无法处理成功。VPN相关文章可以看:
http://www.youmeek.com/qjvpn-recommend/

我这边以我项目为例:
项目名:IntelliJ-IDEA-Tutorial
要删除的文件:jrebel-setup.md


现在打开你本地的 git bash,进行操作。

输入命令:git clone https://github.com/judasn/IntelliJ-IDEA-Tutorial.git
输入命令:cd IntelliJ-IDEA-Tutorial(P.S:进入项目目录中,这一步不要忘记了,有时候我自己都会忘记,必须等提醒才回头进入)

输入命令:git filter-branch --force --index-filter \(P.S:命令后面的斜杠要记得带,输入完回车,命令行变成这样:>,带有尖括号(具体可以看下图红色圈内内容),接着:
输入命令:'git rm --cached --ignore-unmatch 要删除的文件名' \(P.S:命令后面的斜杠要记得带,输入完回车,比如我是:'git rm --cached --ignore-unmatch jrebel-setup.md' \
输入命令:--prune-empty --tag-name-filter cat -- --all

Github的Repository unavailable due to DMCA takedown解决方法(配图)

输入命令:echo "要删除的文件名" >> .gitignore*(P.S:比如我是:echo "jrebel-setup.md" >> .gitignore*
输入命令:git add .gitignore
输入命令:git commit -m "Add 要删除的文件名 to .gitignore"(P.S:比如我是:git commit -m "Add jrebel-setup.md to .gitignore"

输入命令:git push origin --force --all
输入命令:git push origin --force --tags

Github的Repository unavailable due to DMCA takedown解决方法(配图)


最后这三个命令的英文解释我看不懂,但是是对本地仓库起作用的,不影响服务器上,所以也就不管他了。如果你懂这段的意义,请留言告诉我,真心感谢!
输入命令:git for-each-ref --format='delete %(refname)' refs/original | git update-ref --stdin
输入命令:git reflog expire --expire=now --all
输入命令:git gc --prune=now


沟通的邮件内容:
Github的Repository unavailable due to DMCA takedown解决方法(配图)



文章分类: IT技术, web应用   标签:   链接地址: http://www.youmeek.com/github-repository-unavailable-due-to-dmca-takedown-solution/
  1. 后两条命令就是彻底删除已经从本地仓库缓存的文件,你可以做个小测试,
    初始化一个新仓库,然后添加一些大的比如exe文件并提交,查看「.git/objects/pack」文件夹的大小,
    再运行`git rm –cached testfile.exe; git commit –amend -m “delete unwanted file”;`
    此时那文件夹大小也没有变化,只有运行reflog和gc命令才能彻底删除。

    更多可以参考 「pro git 中文版」 https://github.com/progit/progit/blob/master/zh/09-git-internals/01-chapter9.markdown#%E7%A7%BB%E9%99%A4%E5%AF%B9%E8%B1%A1