--- title: "06-git-github资源使用篇" created: 2025-11-25 tags: - 项目 aliases: - git/github资源使用篇 --- # git/github 资源使用篇 ## 访问 github Git 和 Github 是什么? 至于为什么放在第二部分 能进的自然能进的 不能进的可能是想进但进不去卡在第一步 所以emm 这个介绍其实可有可无 懂得都懂 ——程序员的神器 学会使用这个 大部分技术问题都可以得到解决 在做大项目时也能有更好的思路 让你敲代码这件事更规范化(看上去很专业) 到了工作也是离不开 git 和 github 的 所以早点学会 让自己更具核心竞争力 ### git 一个运行在本地电脑上的版本控制软件 在写文档的时候 经常写错 可以使用 `ctrl+z` 进行一个撤销操作 其实写代码的时候也常常碰到一系列的反悔 git 就是一个记录代码某时刻状态的工具 以保障反悔时可以回滚到当时版本 **概念一:commit** 这个概念在数据库的事务中有遇到过 对 一个道理 代码以 commit 作为单位保存 在 commit 之前 回滚则会返回上一次 commit 处 **概念二:repository 仓库** 写代码时总有一个代码库(文件夹) 这个文件夹一般是根目录 如果初始化上个 git 那么这个文件夹就变成了一个仓库 仓库中对应的代码的变更 就会被 git 给控制记录下来 每次提交也都是针对这个仓库进行的 **概念三:branch 分支** 根据不同的人 不同的需求 在当前代码中开辟不同的分支 大家各写各的 互不影响 最后再合并起来 达成一个分工协作的效果 是不是有了点写大程序的影子 小游戏学习 git 代码托管 一些错误的解决方法 git的下载 git图形化界面下载 ### Github git 是本地的 那多个项目的开发者或者多个功能的实现者 不可能都在一台电脑上去进行操作 github 就可以让我们把这个仓库存在网站上 大家都可以在这个网站上去取代码 写好的代码都往这个网站上去存 分支也放在网站上 提交也是 从而实现一个共享 合作的功能 然后还有一个点就是 这个网站可以免费提供公共仓库 也就是说如果你开源 你的代码就能免费放在这个网站上供所有人“借用” 但如果想享受这个服务 又不希望开源 就需要花钱购买私有仓库 那么!!!既然有大佬开源把代码供我们“借鉴” 我们就应该学学怎么去借鉴吧 #### 怎么用 简单入门使用 github 学习大佬代码 这个视频里面教程了如何将大佬的代码直接下载到本地 以及使用账号收藏进行一个软下载 创建一个想要保存的位置的文件夹 右键 Git Bash Here ![[image8-1664d8cb.png]] 将要拷贝的项目的代码的地址拷贝下来 ![[image9-a04556ef.png]] 在弹出的界面中 输入 `git clone` 地址粘贴上去 ![[image10-1ce7f781.png]] 回车 相应代码就会下载在文件夹中了 而后可以右键选择在 vscode 中打开 #### 一些学习技巧 ![[image11-c8576eaf.png]] 可在此处查看收藏过的项目 ##### README.md ![[image12-e0121e9c.png]] 放着作者对项目的一些介绍,讲解,使用方法 .md 是一种 Markdown 语法 类似于 txt docx 它要比 word 简单很多 而且可读性很强 可以配套 Typora 去使用 在 github 上几乎绕不开 .md 文档 ##### LICENSE ![[image13-916eca44.png]] 搬运时(用于商业等其他用途时)如果是 MIT 那就说明 只要保留了原作者的一些版权信息 就能无限制的使用 ![[image14-312a3d36.png]] 倘若不是 MIT 或者 Apache 而是一些奇奇怪怪的协议 就需要注意一下版权问题了 否则会引起一系列官司和纠纷 回到 git 的三个概念 其实也能相应在 github 上找到 ##### 提交 ![[image15-3ce88863.png]] 可以点击这里去查看历史的更改 这对于学习也是很有帮助的 如果要追踪一个很老的项目 也可以看到它第一天初始化的过程 然后慢慢跟着这个项目 不断发展做大 就能从中学到 一个成熟的工程师是如何构建一个项目的 ##### 仓库 ![[image16-7284a4be.png]] 对于这样一个页面其实就是一个仓库 ##### 分支 ![[image17-019848c0.png]] 可在此处查看该项目的分支 不同分支表示不同功能 到最终都会合并到 main 中 ##### issues ![[image18-8ceaf91a.png]] 其实就是一个讨论区 open 是还没解决的 close 是已经解决的 自己也可以去提出问题 到了这里 几乎可以在 github 中畅通无阻了 ##### 寻找资源 光是没事在 github 上逛逛还是信息比较闭塞的 如果有一些推送 自卖自夸的网站给我推荐就好了 ###### github 内部的一个热门榜 ![[image19-4f95cb2d.png]] ###### 以刊物形式 分享有趣的开源程序 ![[image20-d4b3c65b.png]] ![[image21-c036379d.png]] ###### 知乎中 关于前端的一些资料 另外一些在 github 搜索的小技巧 可以在搜索某领域时 - 加上 awesome 关键字 (极好的)(一般人不敢加懂得都懂) awesome XXX - 或者加上 sample 关键字找例子 XXX sample - 找空项目架子: XXX starter/xxx boilerplate - 找教程: XXX tutorial ###### 鱼皮——快速发现优秀开源项目的三板斧 GitHub 是程序界人尽皆知的代码开源平台。 在这里,每天有无数个新项目产生,有数亿行代码被提交。那么如何从海量的项目中大浪淘沙,快速发现那些优秀的或者极具潜力的开源项目呢? ![[image-964b14ef.jpg]] 最简单常用的方法,直接在 GitHub 搜索项目,然后排序和数星星,star 数越多,表示项目越受欢迎,通常也越优秀。 ![[image-25df7582.png]] 对于技术爱好者或者技术推荐博主来说,当然希望能够随时了解 GitHub 上的优秀项目和那些有潜力的项目,而不需要靠自己输入关键词来获取。 ![[image-87d2d097.jpg]] 下面送给大家一把三板斧,助你快速发现优秀开源的项目! 1. GitHub Trending 官方提供的项目趋势统计,能够看到一段时间内项目和开发者新增 star 数的排行。还支持选择语言、编程语言及时间范围。适于发现最新的有潜力的项目。 地址: ![[image-437c1f43.png]] 查看今日项目新增 star 数排行 2. Gitstar Ranking 非官方的 GitHub 排行榜,按照 star 数进行排序,支持个人、组织和项目排行。能够发现成熟又活跃的优秀项目。 ![[image-2175f051.png]] 查看个人、组织和项目排行 3. Awesome Topic Awesome 项目是指由社区同学共同贡献而成的项目,包含了某一技术的完整生态(如优秀开源项目、类库、工具、知识点)。比如 建议大家多看 awesome 项目,学习和查漏补缺都是极好的~随着 Awesome 项目越来越多,GitHub 成立了 Awesome Topic 专区,在专区内,我们可以快速发现各种 Awesome 项目,进而发现不同编程语言或技术的优秀开源项目。 ![[image-b7c2b197.png]] 以上就是快速发现优秀开源项目的三板斧,大家可以多关注开源项目,拥抱开源,提升自己的编程水平。 #### github 骚操作 可以在 GitHub 上搜索和阅读项目代码,进行学习;或者复制粘贴,从而快速完成自己的项目。 ![[image-6d1728fb.jpg]] 对于 github 大多数时候仅仅是局限于 “能用”,这里有 GitHub 的几个隐藏的神级技巧 ##### 1. 搜索技巧 搜索无疑是大家使用最多的功能,绝大多数同学是这样搜索的:点下搜索框,输入想搜的内容,然后往往会看到一大堆搜索结果,接下来还要再去选择编程语言来过滤。结果还是一大堆!不仅麻烦,而且搜索出来的内容可能非常老旧。 ![[image-bec49c24.png]] 而有经验的大佬呢,可能是这么搜的:按快捷键 `s` 直接聚焦到搜索框,然后输入一串神秘代码:`springboot vue stars:>1000 pushed:>2022-05-02 language:Java`,再按回车搜索,就能轻松快速地得到精确的、最新的结果。 ![[image-ad285f12.png]] 怎么样,搜出来的项目是不是都挺经典的?这一串神秘代码呢,其实是利用了 GitHub 高级搜索功能提供的搜索限定符。 当然,完全不用记这些,进入 advance search 界面(搜索结果页左下角),利用可视化表单也能实现高级搜索: ![[image-2e7d079d.png]] 比如搜索最近更新的、Java 语言的、star 数超过 1000 的项目: ![[image-2101dbb8.png]] 但这个界面展示的搜索条件有限,其实还有更多的搜索限定语法,比如按代码库名称、描述搜索,对仓库中的内容进行搜索等,这些都可以在 GitHub 官方文档查阅,不用去背! ##### 2. 文件查看技巧 在我们发现开源项目后,往往要进入项目详情页,通过查看文件和阅读源码来了解项目。相信大多数同学是一级一级的点击项目目录去找文件,发现位置错了后呢,还要回到最初的起点,呆呆地再换一个目录去找。对于 java 这种包路径层层嵌套的项目来说,实在是太麻烦了。 ![[image-33db1d3b.png]] 其实,我们只需按下 `t` 键,就可以快速、实时地对仓库内的所有文件进行搜索了。 ![[image-05de8d9f.png]] 点进某个文件后,还有技巧,按下 `L` 键,就可以快速跳转到某一行。点击行号,就可以快速复制这行的代码,生成永久链接。 ![[image-4ff9af03.png]] 按 `b` 键还可以快速查看该文件的改动记录。是不是方便很多了呢? ![[image-1a50c4cf.png]] 查看尤大开发 vue 的过程 除了上面这些,其实 GitHub 里还隐藏了非常多的快捷键,大家可以收藏一下,也可以在官方文档查看。 ![[image-64f14f42.jpg]] 除了快捷键,GitHub 其实还藏着一个命令面板,按 `ctrl + k` 打开,然后就可以快速查看内容,高效执行各种操作了,感兴趣的同学依然可以从官方文档去了解,这里不再赘述。 ![[image-d80f15f2.png]] ##### 3. 阅读代码技巧 虽然通过上个技巧,我们已经能够很方便地搜索文件了,但是如果要完整阅读项目代码,可能要在文件间来回跳转,就非常麻烦。所以我们往往会把项目代码下载到本地,用更强大的编辑器来阅读。但是,在我们调研和选择项目时,有那么多我们不了解的项目,难道都要一个个下载到本地去阅读么? ![[image-cff7873f.jpg]] 当然不用!登录 GitHub 后,直接在仓库详情页按下 `.`(句号)键,神奇的事情发生了,你会发现,代码竟然直接在一个网页版 VS Code 编辑器中打开了! ![[image-10d6f166.png]] VS Code,但是网页版使用体验和本地的 VS Code 编辑器完全一致,不仅可以随时切换文件来阅读,代码高亮提示、快捷跳转、代码搜索、debug 等功能一应俱全,甚至还可以安装插件来增强编辑器的功能。谁用谁真香~ ![[image-fc8f6a4d.jpg]] ##### 4. 在线运行项目 除了一键在浏览器中查看项目源码外,GitHub 还藏着一个更 无敌 的功能。让我们在项目地址前加上 `gitpod.io/#` 前缀,等待几秒钟,神奇的事情发生了。依托于 GitPod,我们不仅在一个网页编辑器中打开了项目代码、可以实时编辑和保存;而且它自动识别了项目的类型,并且自动安装了依赖包。 ![[image-4e2d1e8f.png]] 接下来,我们完全可以把这个网页提供的远程服务器当做自己的电脑来使用,里面预装了 python、java、go 等等,啥环境都有!因此我们可以在控制台里为所欲为:可以输入命令来执行项目,并且直接在网页中查看项目的运行效果;甚至还可以一键构建 Docker 镜像,快的飞起! ![[image-30415d33.jpg]] 这下再也不用把项目下载到本地,然后安装一堆环境来查看项目效果了。没记错的话,GitPod 每月提供 50 个小时的免费使用时长,对绝大多数同学来说完全足够了。 ![[image-037a6e31.jpg]] ##### 5. 项目推送 除了主动搜索项目外,其实在 GitHub 的 Explorer 探索页面中,有一个非常不起眼的按钮 —— 获取邮件更新。我们可以根据自己的喜好,让 GitHub 定期给我们推送自己感兴趣的优质项目,就可以持续扩大知识面、了解开源动态啦。 ![[image-bbcbebed.png]] #### 特别鸣谢!!!!! 【Github 新手够用指南 | 全程演示&个人找项目技巧放送】 这篇笔记几乎出于这个视频 非常的良心 受益匪浅 可能后续还要补充一下怎么去使用 git 以及它的图形化界面 【40 分钟学会 Git | 日常开发全程大放送&搭配Github】 有时间了再来整理 在大学时期一般用不上这种工程化的工具 先愉快的在 github 上玩耍吧!!! 然后 最主要的东西 …学好英语…不然看不懂 怪不得说英语决定下限… --- **项目分区导航**:[[05-git与github项目管理篇|git与github项目管理篇]] ⬅️ | 06-git-github资源使用篇 | ➡️ [[07-贡献代码到开源项目从Fork到PR|贡献代码到开源项目从Fork到PR]]