幻影忍者前情提要
wnm大四了还要课设
善良的黑龙江室友在并夕夕上购入一个课设拿来直接用了(好孩子不要学),课设指导书中要求需要把项目代码上传到GitHub。我今天在上传的时候遇到几个问题:
第一个:项目文件夹超过100,GitHub会显示Yowza, that’s a lot of files. Try uploading fewer than 100 at a time.不让你上传。解决方法就是利用git push,猴子都会(bushi 猴子都能懂的git入门。回想起大一的时候飞飞姐教我们用git,但我没学会
第二个:在git push时遇到报错

是由客户端提交的请求格式错误
解决办法
其实是Git 的默认缓存大小过小导致的(看了半天,问了chatgpt才知道),终端输入
git config --global http.postBuffer 524288000
将缓存大小增加到500MB。再次push会发现报了个新的错误


这就是我遇到的第三个问题
在报错信息中还看到

原来是要上传的文件中包含敏感信息,这个SSH密钥就是,所以GitHub会阻止我推送到仓库,百度后了解这是 GitHub 的 “Push Protection” 功能的一部分,用来防止意外将敏感数据公开。
使用命令
git rev-list --objects --all | grep 上面出现的blob id
来找到包含该 blob id 的文件路径,这个路径记一下,待会会用
然后可以将其存放到gitignore中从而避免 Git 推送时的敏感信息检测。使用vim编写.gitignore文件:
vim .gitignore
然后写入上一个命令得到的blob id 文件路径,保存并退出(不会用vim重修操作系统)
然后运行命令
git rm --cached blob id的文件路径
这将从 Git 的索引中删除文件,但不会删除本地的实际文件,再使用git命令提交更改:
git add .gitignore
git commit -m "Add sensitive file to .gitignore"

最后再git push就上传成功了

总结
究极摆子王是这样的,代码我都没看,包名都没改,能跑起来就直接上传了,你说要是被发现是抄的怎么办,☝️🤓我们课设老师来上课的次数比我去上课的次数还少,我觉得他必不可能发现
告诫学弟学妹,如果能力尚可,早在大二时就应该做好能一直用到毕业的课设项目,只有我是究极摆子王
当然我的GitHub仓库也出现在前面的内容里了,想看的可以去观摩下猴子
1 条评论
starry0214 · 2024年9月11日 下午3:10
也是技术大牛了