Tech

Git+工蜂实现资源分发

by illlights, 2021-08-26


  腾讯工蜂每个仓库有500GB的LFS储存空间(单个文件最大5GB),5GB的普通文件储存空间(单个好像是50MB?),而且下载速度可以达到10MiB/s,反正是把我家宽带跑满了。而且不限制仓库数量!
  被tx恶心了这么久,这不去白嫖一波???

  如果你精通git,就不需要往下看了,直接试试腾讯工蜂吧:
https://git.code.tencent.com/

  用工蜂传文件的倡议来源于另一位博主:资源传送倡议与工蜂源的一些问题,但是呢,腾讯工蜂只能用git,门槛比较高,而原博主也没有提供技术上的支持。
  我自己也不太会用git,平时最多用用git clone,其它的指令了解的较少(但是传个文件还是会的),所以这篇文章只会介绍和传文件有关的指令,基本上没有触及git的核心,千万别看了这篇文章就跑出去说会用git了......

准备工作

注册或直接微信登陆

  https://git.code.tencent.com/
  直接微信登陆之后它会引导你进行注册,我这边也不知道流程是什么样的,跟着官网的提示来吧。

安装git

  (本文均以Windows为例)
  官网下载地址:https://git-scm.com/downloads
  安装时会有很多选项,要是看不懂全部默认就好

设置公钥

  由于读取工蜂源是需要登陆的,而git本身没有登陆信息,这个时候就需要用到公钥。和GitHub不同,工蜂没有设置公钥时连pull都不行。

1.生成ssh密钥

  按Ctrl+R后输入cmd回车,进入cmd,然后在命令行里输入

ssh-keygen -o

  然后它会要你输入保存位置,默认就行。

C:\Users\20308>ssh-keygen -o
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\20308/.ssh/id_rsa):

  这里可以输入私钥密码,推荐不输入,不然这个密码可能会让你输到删库。
  完成之后会显示一些信息和SHA256图像,关掉,这些不重要。
  进入保存密钥的文件夹,默认是C:/用户/你的用户名/.ssh/,找到id_rsa.pub文件(看清楚是.pub,别把私钥给复制上去了!),用记事本打开,这就是你的公钥了。

2.将公钥添加到工蜂

  在工蜂的个人中心里打开个人设置,进入SSH密钥界面,点击右上角的添加密钥。
个人设置
ssh密钥界面
  然后把公钥中的内容全部复制到这里,取个名字,点击保存。

创建项目

  现在回到个人中心,点击右上角的创建项目。取个简单一点的名字,可见级别设为公开。
创建项目页面
  创建之后,项目应该是这个样子的:
未初始化
  现在,回到文件资源管理器,选一个合适的文件夹(路径里最好不要有中文),右键空白处,选择Git Bash Here。
选择文件夹
  然后按工蜂网页的提示创建一个新的版本库(版本库就是我说的仓库)
bash界面
  不出意料的话,现在刷新工蜂网页就可以看到README.md,仓库就建好了!
建好的仓库

上传文件

简易说明

  先把文件放在仓库绑定的文件夹里。右键Git Bash Here,然后一行一行执行下面的命令:

git lfs track 文件.后缀
git add .gitattributes
git commit  -m "这里写备注"
git add 文件.后缀
git commit  -m "这里写备注"
git push origin master

  至此,文件就已经可以下载了,直链是https://git.code.tencent.com/你的用户名/你的仓库名/raw/master/文件名.后缀

代码解释

  要明白这些代码,首先要知道git的原理。git是一个文件版本控制系统(但是只用来储存的话完全用不到),分为工作区、暂存区、版本库三部分。
  工作区就是绑定好的文件夹,使用git add指令将文件添加到暂存区,再使用git commit将暂存区的东西保存到版本库。当然,可以git add多个文件之后一起提交:

git add i001.part1.rar
git add i002.part2.rar
git commit -m "添加i001的两个压缩包"

  至于git push命令,则是把本地的版本库推送到远程仓库,其中origin是仓库名,master是分支。(了解更多请百度/谷歌)

  开头提到lfs文件和普通文件储存空间差别很大,这是由于git本身是版本管理,每次修改后会生成一些记录,大文件全当普通文件储存肯定不行,所以有了lfs( Large File Storage )系统,被lfs标记的文件只会生成SHA256,而不是翻倍吃储存空间。
  使用git lfs track命令将文件标记为lfs文件,同时会自动生成.gitattributes文件(哪些是lfs文件就储存在这里),使用时注意要先提交.gitattributes文件,再提交标记的文件。

  有任何问题请在评论里提出,我为了尽量简单很多东西都没有讲(其实是懒得打字),可能还需要做一些补充

进阶指令

另外写了篇文章介绍高级指令:《git高级指令》

使用建议

  1. 因为工蜂是不限仓库数的,所以我建议直接把仓库当作文件夹用,不要再在仓库里搞几层文件夹了。这样还有一个好处:传完了可以直接把本地的仓库删掉,释放本地的空间,然后重新建一个新仓库传新文件。不过仓库建多了管理起来会比较麻烦,这个还是看个人习惯。
  2. 前面也提到了,读取工蜂源也必须要登录,也就是说下载的时候必须登录。好在支持微信扫码,不需要花时间注册。
  3. 不支持外部工具下载、不支持断点续传、不会给浏览器发文件大小信息,但是单线程下载速度也足够了。

可以参考我写的说明:https://blog.illlights.com/download.html

作者: illlights

1 条评论
    盼熙 回复
    盼熙2021-09-15 18:46

    ∠( ᐛ 」∠)_

2024 © typecho & elise