编程导航学习网站:学编程、做项目、拿 Offer!
企业高频面试题库:开始刷题,面试遇原题!
精选简历模板大全:1 分钟搞定简历!
AI 资源导航网站:获取最新 AI 黑科技!
1 对 1 模拟面试:随时随地提升面试能力
Git 和 GitHub求职高频面试题:开始刷题
⭐️ 不喜欢读文字的鱼友可以看鱼皮的视频讲解:https://www.bilibili.com/video/BV1KZ4y1e7cG
Git 是目前最主流的分布式版本控制系统(Version Control System),是团队协作开发不可或缺的工具。它可以保存和管理文件的所有更新记录、并且使用 版本号 进行区分。从而支持将编辑后的文档恢复到修改前的状态(历史版本)、对比不同版本的文件差异、防止旧版本覆盖新版本等功能。
GtiHub 是目前最主流的、免费的代码开源托管平台 ,可以理解为一个存储和管理代码的 “网盘”。所有用户或团队都可以把自己的代码上传到 GitHub 进行共享和维护、从 GitHub 下载代码等。开发者们可以从 GitHub 上白嫖代码,进行学习或引用。

很多同学刚开始容易把这两个概念搞混,其实很好区分,Git 和 GitHub 的区别和关系如下:
💡 SVN 和 Git 是同类的工具,两者的用法很相似。但目前 Git 相对更主流一些,因此只学习 Git 足够了。
Git 起初是由 Linux 的创始人 Linus Torvalds 为了更好地管理 Linux 内核开发而创立的。Linux 的内核开发极其复杂,我们可以试想一下,如果有 100 个人要共同来开发这样一个大型项目、维护同一个代码目录和文件,怎么样才能够保证大家的代码不重复、不冲突、即时共享呢?难道要把代码放到 U 盘里,每个人写完代码后再拷贝到别人电脑上么?
肯定不行对吧,这样做不仅麻烦,而且只能人为去解决冲突,可能会出现下面的对话:
A:“哎,这行我改了,你别改!”
B:“TNND,你改了也不跟我说一声。”

所以 Git 的出现正是为了解决上述难题。
使用 Git 工具,大家可以很方便地拉取和提交代码、及时得到代码的修改信息、对比新老代码之间的差异等,让系统代替人工来自动检查和解决冲突。从而提高团队协作开发的效率,保证代码和项目的稳定推进。
除了团队开发外,我们自己做项目时也可以用 Git 来管理代码,如果一不小心改错或者删除了文件,可以快速还原。
因此 Git 也是目前开发岗同学 必学 的技能,企业开发的基本功。
既然要团队协作开发,那么大家肯定要 共享代码 ,在同一套代码的基础上进行开发。所以需要一个集中存储和管理代码的地方,所有团队成员都能访问到。而且不同于网盘,最好大家能使用 Git 工具来操作代码的上传和拉取,并且在平台上方便地浏览和对比代码。
于是,有能力的公司开始自己建设公司内部的代码托管平台。但是对大多数小公司来说,他们没有这种条件自建,只能依赖其他大公司的代码托管服务。
此外,在 Linux 之父以及很多优秀程序员的影响下,越来越多的程序员倡导 开源,认为软件开发应当是开放的,所有开发者都可以加入贡献。而开源的背后,必须要有一个开放共享的代码托管平台来支撑,而不是每个公司的代码都被封闭在自己内部的平台上。
于是,以 GitHub 为代表的代码托管平台出现了。团队可以利用 GitHub 进行协作开发;开发者可以轻松阅读并参加到世界知名的开源项目中;我们每位同学也都可以免费使用 GitHub 上的代码,站在巨人的肩膀上打造自己的项目,或者通过参加开源来提升个人影响力等。
此外,如今的 GitHub 还提供了更多强大的功能,比如问题讨论、在线编程、托管网站、自动构建项目等,对开发者非常有帮助。除了代码外,鱼皮也经常把一些需要团队内共享的文档上传到 GitHub 私仓和其他成员协作,免费无限制谁不爱呢?

当然,GitHub 只是代码托管平台中最有代表性的一个,其他知名的代码开源托管平台有国内的 Gitee、国外的 Bitbucket 等;面向企业的私有代码托管平台有 GitLab、腾讯工蜂等。它们没有什么本质的区别,都是平台而已,会用 GitHub,就会用其他的。
综上,强烈建议大家养成使用 GitHub 的习惯,感受开源的魅力。

1)Git 只是工具,不要去背命令:初学者只要先了解工作中常用命令的作用、提交代码的流程,然后跟着教程实操一遍,有个大致的印象就够了。忘了的话随用随查即可。建议将专门学习 Git 的时间控制在 1 天内,一般几个小时就足够了。
2)多自己手敲 Git 命令:虽然现在有很多可视化 Git 工具,但还是建议初学 Git 的同学多自己手敲 Git 命令。可以多把自己平时写的练习代码用 Git 上传到 GitHub 上管理,用的多了自然就熟悉了。
3)实践是关键:Git 的学习不是一蹴而就的。随着你使用 Git 管理的项目越来越多、工作经验越来越丰富,你对 Git 和 GitHub 的熟练程度才会越来越高。
4)善用 AI 辅助:遇到 Git 问题(如冲突解决、命令忘记等),可以问 AI 工具(如 DeepSeek、豆包)让它帮你分析和解决。还有更多 AI 工具推荐可以看鱼皮的 AI 资源导航。

⭐️ 表示【重点知识 / 强烈推荐】
😐 表示【了解即可】
Git 本身只是一个工具,不涉及太多复杂的的理论知识,看了说明书就能用;再加上现在很多主流的开发工具都支持可视化地操作 Git 来管理项目,将它的使用成本降到了最低。所以我们可以随用随学,哪怕之前完全不会,工作用到时也可以直接 赶鸭子上架 ,做到能用界面来拉取和提交代码、完成开发即可。
我自己刚开始接触 Git 的时候就是这样,完全没有上网搜教程,就是看别人提交项目的时候用到了这个工具、在编辑器上点几下就可以了,觉得很厉害很方便。然后我就有样学样地用起了这个工具,而且很长一段时间我都是用 GitHub Desktop 来傻瓜式的操作,遇到问题了再上网搜解决方案。

这里我建议大家无论是否要学习 Git,都可以先把它安装到你的电脑中(直接去官网安装)。因为有可能一些软件或工具会依赖 Git,不装的话后面会出现一些问题。
能用软件操作 Git 来拉取和提交代码
⭐️ Git 官方下载:https://git-scm.com/downloads
Git 可视化管理软件:
一般情况下不用额外安装软件,用开发工具自带的 Git 可视化功能即可(比如 IDEA、VS Code 等)
虽然使用可视化工具也可以操作 Git 完成开发工作,但如果不了解 Git 的概念和每个操作具体做了什么,在团队开发中很容易出现问题(比如出现冲突)。
因此本阶段的目标如下:
入门 Git 时没必要买书,而是直接看网上的文档或视频教程,大概花几分钟 ~ 几小时就可以入门了。
比如 猴子都能懂的 Git 入门 ,图文并茂、通俗易懂,看完入门篇就足够了:

或者看 B 站上一些免费的分享,比如下面资源里提到的一节课入门视频,可以帮助你快速了解 Git。
但是大家要切记,一定要跟着教程敲命令 ,自己走完一套从新建文件到提交文件的完整流程!
还可以配合可视化工具来观察每个命令执行带来的效果,比如 IDEA 会自动把 Git 托管的文件变成绿色,从而帮助你理解每个命令的作用。
Git 的分支概念还是很重要的,大家可以使用 Learning Git Branching 这个在线游戏来学习和理解分支。

💡 当然,习惯阅读官方文档的同学也可以直接看 Git 官方文档入门。
可以把 GitHub 简单理解为一个资源网站,第一次接触 GitHub 时直接注册一个账号,然后在搜索框里输入你想搜的东西就可以了,不需要任何的教程。但是如果我们想上传代码到 GitHub、更好地用它来管理项目,还是有必要了解一下平台的玩法。
我们学 GitHub 时主要是了解这个平台提交代码的规则以及和他人协作的方法,因此还是以实践为主。
推荐先在 B 站上找一个 GitHub 的短视频分享,了解下 GitHub 是个啥,大概咋用(下面有推荐视频)。然后再按照 GitHub 官方提供的 Hello World 入门教程 来实操一遍流程,基本就了解大家是如何在 GitHub 上协作的了。
之后我建议大家可以像读课外书一样阅读下 《GitHub 漫游指南》 ,能够比较全面地加深你对 GitHub 的了解。
企业开发项目可能会比较复杂,往往会面临两个问题:
如果协作开发时出现了代码冲突,又不了解如何解决的话,就很可能导致提交了错误的代码影响项目,或者丢失自己写过的代码。
因此我们需要进一步了解 Git,学习实际工作中可能要用到的操作、经验和技巧,更好地管理团队项目和协作。
其实我们在大多数情况下是用不到上面那些高级命令的,但是一定要知道有这么个命令和用法,在关键时刻才能想起来,然后再去通过官方文档和百度去搜详情即可。
所以,建议大家有空完整地阅读一遍 Git 的官方文档(支持中文、详细又权威),有些地方看不懂或记不住也没关系(比如像 reset 的几种模式),有个大致的印象就行。
学好 Git 最主要的方法还是多实操,比如实际工作中最实用的技能之一 —— 解决代码冲突,只有经历过的同学才会懂。不过如今的编辑器基本都自带了可视化解决冲突的功能,通过红绿等颜色来区分代码,可比我们用命令行要方便和清晰多了,所以也不用去记忆相关的命令。
另外,建议大家去网上了解一下企业开发中常用的 Git 协作机制,比如怎么定义分支、怎么个提交代码的流程等。
还可以了解一些 “先进” 的协作方式,比如一些大公司在采用的 Monorepo(单仓 / 大仓)方案,了解它和传统项目管理模式的优缺点。
此外,大家感兴趣的话也可以深入下 Git 工具的原理,如果能够自己做出一个类似的系统,相信在简历上也会是个不错的项目~
如今 GitHub 的能力已经非常强了,除了代码的管理和检索外,它还集成了各种辅助团队开发和运营的功能。
进阶 GitHub 最好的方式就是 阅读官方文档 !
因为首先官方文档一般比任何教程都 全面、权威、准确 ;再加上 GitHub 的更新迭代很快、时不时会推出一些新功能,导致网上的教程和文章很难做到实时和官方同步。
而 GitHub 的官方文档不仅支持中文,而且写的非常通俗好懂,本身就是一个贴心的教程了。所以建议大家跟着文档来学习,完整阅读一遍后,相信你会学到很多之前完全没关注过的 GitHub 功能,帮助自己更好地利用这个平台。
此外,大家也可以多看一些其他同学分享的 GitHub 小技巧,比如鱼皮之前分享过的 5 个 GitHub 隐藏神技巧视频。举个例子,按个句号键就能用 web 编辑器直接打开项目,能给我们带来极大的方便。
其实 Git 在面试中的占比一般是很低的,至少我秋招 20 多轮面试中 1 次都没被问到过。所以大家不用刻意去准备,多去用它、积累经验就好了。
不过时间足够的同学也可以了解一下常见的面试题,比如下面这些:
1)面试占比很低:Git 在大多数开发岗位的面试中占比很低,主要是考察你会不会用。所以不用刻意准备,多用就行了。我秋招 20 多轮面试中 1 次都没被问到过。
2)准备项目协作经历:如果面试官问到 Git,一般会问你在团队中是如何使用 Git 协作开发的、遇到过什么问题、如何解决冲突等。所以要提前准备好这些内容。
理论题:
实践题:

加油小伙伴们 💪🏻!

1)程序员学习交流圈:极客教程、实战项目、求职宝典
2)程序员面试八股文:实习/校招/社招高频考点、企业真题解析
3)程序员写简历神器:专业模板、丰富例句、直通面试
4)AI 知识资源大全:前沿技术、最新 AI 资讯、提示词大全
5)1 对 1 模拟面试:实习/校招/社招面试拿 Offer 必备