在上一节中,我们介绍了如何通过搜索引擎、官方网站和应用商店等渠道获取软件,并学习了一些识别仿冒网站和避开捆绑安装程序的方法。不过,在实际使用中,你很快会发现:许多由个人开发者维护的优秀软件,并没有传统意义上的「官网下载安装页面」,而是直接托管在开源平台上——毕竟长期维护一台用于内容分发的服务器需要高昂的费用。
对普通用户来说,这些平台往往界面复杂、术语繁多,一不小心就会迷失在各种按钮中。但实际上,只要掌握几个基本概念,我们就可以非常方便地从这些平台获取软件、查看更新,甚至向开发者反馈问题,帮助 ta 们完善自己的软件。接下来,我们将了解常见开源平台的基本操作方法,学习如何在 GitHub 上查找需要的软件,并尝试向开发者提出改进建议。
什么是 Git?
Git 就像给文件配备了「时光机」,能记录每一次修改,并方便多人一起协作。许多企业也会选择使用 Git 来托管项目代码并进行团队协作。在 Git 的基础上,人们又开发了许多代码托管平台,用来存放和共享使用 Git 管理的项目。其中最著名的一个平台就是 GitHub。熟练使用 Git 是开发者必备的技能之一,如果你想进一步了解 Git 的原理与实践方法,推荐阅读《Head First Git 实战》(ISBN:9787519876340)。
GitHub 是什么?为什么要了解 GitHub 基本操作?
GitHub 是一个基于 Git 版本控制系统的代码托管平台,是全球最大的代码托管平台和开源社区之一。该平台拥有超过一亿的开发者用户,是个人开发者学习、分享和贡献代码的理想平台。大多数开源的教学工具软件都是托管在GitHub上的。想要下载这些软件,并且提供建议和反馈,你要做的第一步就是了解 GitHub 平台的基本操作方法。
由于 GitHub 的服务器部署在境外,导致 GitHub 在国内的使用体验极其不稳定。在默认网络环境下,能顺利打开网页就已经是一件值得庆贺的事情了。在这种情况下,如果你能在 3 分钟之内把你需要的软件下载好,我们建议你在晚饭时加根鸡腿庆祝一下~
为了解决这一问题,国内开发者也建立了类似的代码托管平台,例如 Gitee(原名码云)。它的功能与 GitHub 类似,在国内被广泛应用。为了训练学生们使用 Git 进行版本管理和团队协作的能力,许多高校的计算机专业课程会将 Gitee 指定为作业提交平台。跟 GitHub 相比,Gitee 有几个明显优势:
- 访问速度更快
- 下载更稳定
- 不需要额外网络工具
- 中文界面,更容易理解
不过需要注意的是,不论是开源项目的数量,还是用户的活跃程度,Gitee 都跟 GitHub 存在一定的差距。许多国际项目或最新发布的开源工具通常会优先发布在 GitHub 上,而 Gitee 上可能没有同步镜像或更新不够及时。许多情况下,我们仍然需要访问 GitHub 来获取最新的软件版本或参与项目讨论。这时,我们就需要一些方法来提高访问 GitHub 的速度了。
如何提高访问 GitHub 的速度?
Watt Toolkit(瓦特工具箱)
当然,你可以使用代理软件。但我们不建议你这样做,毕竟这是违法的。因此,我们更推荐你用本地代理的方式进行加速。这时 Watt Toolkit 就派上用场了!虽说这个软件最初是用来优化 Steam 访问速度的,不过随着版本更新,它现在可以改善很多网站在国内的访问速度。而且 3.0 版本为我们提供了模块化功能,你可以把你不需要的的功能直接删除。
棘手的是,这样一个用来优化 GitHub 访问速度的工具,它的主仓库也托管在 GitHub 上。在这里,你可以先使用官网为你提供的其他下载方式来获取软件的安装包,其中操作比较简单的是通过 **微软商店 **下载。由于微软商店的「应用上架流程」比较繁琐,所以商店提供的软件并不是最新版本。如果你有尝鲜新功能的需要,你可以部署好旧版本之后,再去官网下载最新版。
仓库(Repository,简称 Repo)是 Git 用来存放项目文件和历史记录的地方,可以理解为一个带有“修改记录”的项目文件夹。
部署好 Watt Toolkit 后,若要启用加速功能,只需要点击“网络加速”选项卡,找到「GitHub」复选框并勾选,点击「加速」按钮即可。这时,你可以刷新浏览器里的「GitHub」标签页,来测试加载时的网络性能。
附加功能(点击展开):
1.如果你觉得侧栏功能有点多,可以在设置→插件设置中把不必要功能关闭,只留下网络加速:
.webp)
之后重启软件:
.webp)
这样简洁多了!
2.如果你想打开软件时就显示网络加速而不是主页,可以在设置→界面设置中调整:
.webp)
Steamcommunity302
Steamcommunity302同样是一个提供反代服务的软件,可以从https://www.dogfight360.com/blog/18682/下载到程序安装包。
下载后会得到一个压缩文件,解压进文件夹即可。
在文件夹下,打开Steamcommunity_302.exe这个程序。
在 其他服务中勾选 GitHub 后,点击右侧 启动服务。
首次启动服务,Windows Defender 可能会弹出警报,此时点击 允许访问 即可。
启动服务后,程序会隐藏进 系统托盘菜单 中,你可以对其软件图标右键来修改一些设置或关闭服务。
此时,你可以打开 GitHub 网站,看看是否能流畅访问。
GitHub基本操作
有了上面的铺垫,我们来了解 GitHub 的基本操作。
首先我们先注册GitHub账号。打开https://github.com,点击右上角的“Sign up”
之后,根据网页的引导注册账号:
注册完后,我们就可以进入GitHub的主页了:
为如果你已经知道项目的完整名称,可以直接在搜索框中输入项目名进行搜索。但在很多情况下,我们只记得软件的部分名称,或者只知道它的大致功能,例如「桌面课表」「课堂计时器」等。这时直接搜索往往会得到大量结果,难以快速找到真正需要的项目。
GitHub 的搜索机制与常见的搜索引擎(如百度、Google)有所不同。它更偏向于精确匹配项目名称或关键词,对于拼写错误或过于模糊的描述容错能力较弱,因此有时会出现「项目明明存在,但搜索不到」的情况。
为了更精准地找到目标项目,GitHub 提供了一些搜索限定关键词(Search qualifiers),可以帮助我们缩小搜索范围,例如只在项目名称中搜索,或者只显示比较受欢迎的项目。常见的一些关键词如下表所示:
| 搜索关键词 | 作用 | 示例 |
|---|---|---|
| in:name | 只在仓库名称中搜索 | classisland in:name |
| in:readme | 在项目 README 文档中搜索 | 大屏课表 in:readme |
| stars:>100 | 筛选 Star 数大于 100 的项目 | 课表 stars:>100 |
| language:C# | 按编程语言筛选项目 | 课表 language:C# |
| sort:stars | 按 Star 数排序搜索结果 | 课表 sort:stars |
看起来挺有讲究的,对吧?但如果你有亲自实践,会发现:除了第一个示例,其他的都搜不出 “ClassIsland”。如图所示,同样搜索「大屏课表」,在 GitHub 中很难直接找到目标项目,而在搜索引擎中则更容易获得相关结果。
看来,想在 GitHub 上直接“发现”一个宝藏项目,并没有想象中那么容易。因此,在实际使用中,人们往往不会直接在 GitHub 上寻找软件,而是先通过其他渠道了解项目,再进入 GitHub 查看项目主页或下载软件。
常见的方式包括:
- 关注一些介绍开源项目的自媒体或网站
例如 玄离199 等博主
、GitHub 等开源社区,这些博主经常会推荐一些实用的开源软件。
- 借助 AI 工具进行搜索
如果你只知道软件的大致用途,可以尝试直接向 AI 描述需求,例如「有没有可以在班级大屏上显示课表的软件」。AI 往往可以快速给出相关项目,并附带 GitHub 链接。 - 使用搜索引擎查找 GitHub 项目
搜索引擎通常更擅长根据模糊关键词找到相关内容。例如搜索「大屏课表」时,搜索引擎很容易就能找到 ClassIsland 的官方网站或 GitHub 项目页面。
接下来,我们以 Ink Canvas Plus 的仓库为例子,展示一下 GitHub 的一些操作。
在搜索框输入“Ink-Canvas-Plus”:
点击进入项目仓库:
作为普通用户,我们经常需要跟Releases打交道。在下载软件包时,你可能会对下载页展示的文件名感到一头雾水:
它并不是随便起的名字,而是由多个“信息段”拼接而成。如果不了解这些词的含义,很容易下载到与当前系统不兼容的错误版本,导致软件无法运行。下面让我们一起了解一下这些常见术语。
文件名中通常会包含系统标识:
| 关键词 | 适用场景 | 安装包常见扩展名 |
|---|---|---|
| windows | 学校绝大多数办公电脑 | *.exe |
| linux | 搭载麒麟、UOS等系统的信创主机 | *.deb (Debian 系系统) |
| macos | Apple 电脑 | *.pkg |
CPU架构:
| 架构 | 典型设备举例 | x86兼容性 | x64兼容性 | arm64兼容性 | 说明 |
|---|---|---|---|---|---|
| x86 | 老电脑 | ✅ | ❌ | ❌ | 老旧的架构,现已被完全淘汰 |
| x64 | Intel / AMD / 兆芯 / 海光等 | ✅ | ✅ | ❌ | 拥有最完善的应用生态,可以运行几乎所有在Windows平台发行的软件 |
| arm64 | Apple Silicon / 骁龙X系列 / 龙芯等 | ⚠️ (转译运行) | ⚠️ (转译运行) | ✅ | 拥有最佳的能耗比,但在部分应用场景存在一定的兼容性问题 |
以及软件包的其他属性。实际场景中,为了让用户开箱即用,部分开发者会选择发布 selfContained(自包含)版本。
所谓selfContained,指的是:程序在打包时,同时将运行所需的全部依赖环境一并打包进去。功能复杂的程序往往依赖运行时环境(如 .NET Runtime、JRE)、系统库、动态链接库(DLL)等组件。如果这些环境在用户电脑中不存在,就会出现:双击无反应、提示缺少运行库、弹出错误代码等情况。对于缺乏电脑使用经验的用户来说,这些错误难以自行排查。
尽管自包含版本在安装上给用户提供了诸多便利,但它也并非没有代价;最直观的影响就是 软件包体积显著增大 。由于运行时环境本身往往占据较大的空间,当这些组件被一并打包进程序后,整体文件大小会明显增加。如图 0.5.15 所示,Classisland 的 full(不包含运行时环境)版本只有约 60 MB,而对应的 selfContained 版本文件体积将近翻倍。
其次,在批量部署场景下,自包含版本会造成一定程度的存储冗余。如果同一台电脑上运行多个基于相同运行环境的软件,而它们都采用自包含打包方式,那么每个软件都会各自携带一份运行环境副本。这在技术上提高了独立性,但也降低了资源利用效率。
(萝兔挖的坑,接下来会继续补充:啥是仓库 GitHub搜索逻辑 啥是alpha beta stable 提 issues的方法与技巧 issue模板)
之后,我们再来看看这些功能,我们常用的是前四个:
Code: 就是我们一点进去就能看到的页面,介绍项目的基本情况和展示源代码
Issues: 如果你在使用软件时遇到bug,或者有一些好的想法,你可以在这里提出。
Pull Request: 如果你有编程能力,想给项目做贡献,你可以进行Pull Request。由于门槛较高,这里就不多说了。
Discussions: 用来讨论交流项目的地方。与Issues相比,Discussions更加非正式一些,用于讨论使用软件的技巧、疑问等。
到这里,你就已经学会了GitHub的基本操作了!

评论 (0)
登录后参与讨论
还没有评论