The Git & Github Bootcamp
Git & Github Bootcamp
Master the essentials and the tricky bits: rebasing, squashing, stashing, reflogs, blobs, trees, & more!
掌握要点和技巧:变基,挤压,隐藏,reflog,blob,树,等等!
教程演示🔗
你将学到什么
-
了解 Git 在幕后如何工作
-
解释 Git 对象的区别:树、blob、提交和带注释的标签
-
掌握基本的 Git 工作流程:添加和提交
-
使用 Git 分支
-
执行 Git 合并并解决合并冲突
-
使用 Git diff 揭示随时间的变化
-
掌握 Git 存储
-
使用 git Restore、git revert 和 git Reset 撤消更改
-
使用本地和远程存储库
-
掌握协作工作流程:拉取请求、“分叉和克隆”等。
-
使用交互式变基压缩、清理和重写历史记录
-
使用 git reflogs 检索“丢失”的工作
-
编写自定义且强大的 Git 别名
-
使用 Git 标签标记发布和版本
-
使用 Github Pages 托管静态网站
-
创建 markdown 自述文件
-
使用 Github Gists 共享代码和片段
要求
-
基本的计算机技能
描述
下面这句话很烦人,但也是事实:学习 Git 的最佳时间是昨天。幸运的是,第二好的时间是今天!Git 是任何与代码相关的领域(从数据科学到游戏开发再到机器学习)工作的必备工具。本课程涵盖了今天在现实世界中开始使用 Git 和 Github 所需了解的所有内容!
该课程的 20 多个部分分为四个独立的单元:
-
Git 要点
-
下一级 Git
-
Github 与协作
-
棘手的部分
我们从 Git Essentials 开始。 本单元的目标是为您提供日常使用所需的所有基本 Git 工具。我们首先讨论版本控制软件、它是什么、为什么重要以及 Git 的历史。然后我们安装 Git 并运行使用 Git 所需的 Unix 命令(如果您已经熟悉,可以跳过这一步)。本单元的大部分内容侧重于教授核心 Git 机制,如提交和分支以及相关概念:工作目录、存储库、暂存区域等。我们涵盖的 Git 命令包括:git init、git add、git commit、 git 状态、git 日志、git 分支和 git 合并。最后我们详细介绍了分支、合并和解决冲突。
然后我们继续学习下一级 Git单元,其中我们介绍了非常有用的其他命令和 Git 概念,但可能不像 Git Essentials 那样“核心”。我们首先全面了解gif diff命令以及我们可以在提交、分支、工作目录、暂存区域等之间进行的各种比较!我们特别注意读取和解析 diff 生成的密集输出。然后,我们将重点转移到使用git stash命令进行存储,这是许多用户喜欢将其合并到 Git 工作流程中的“便捷命令”。最后,我们深入探讨使用 Git撤销更改和时间旅行。我们学习如何重新审视早期的工作,分离和重新附加 HEAD,以及放弃更改。我们介绍了帮助我们撤消更改的 git 命令,包括git checkout、git Restore、git reset和git revert。
接下来,我们将重点放在Github 和协作上。我们首先探索托管远程存储库的 Github(和类似工具)并讨论它们提供的好处。我们创建自己的 Github 存储库,并使用git push、git pull和git fetch命令同步远程和本地存储库之间的更改。然后,我们重点关注学生在现实世界中可能遇到的常用协作工作流程:功能分支、拉取请求、分叉和克隆等等!我们讨论为开源项目做出贡献并配置 Github 存储库以进行协作。我们还花一些时间学习有用的 Github 功能,包括用于免费静态托管的Github Gists和Github Pages 。
本课程的最后一个单元“The Tricky Bits”实际上只是有用的 Git 命令和高级主题的集合。我们首先介绍一个“更可怕”的 Git 命令:rebasing!我们讨论变基的潜在好处和陷阱,并将其与合并进行比较。然后我们学习如何使用交互式 rebase命令通过重写、编辑、删除和压缩提交来清理 Git 历史记录。接下来,我们讨论Git 标签(轻量级和带注释的标签)语义版本控制和标记工作流程。之后,我们继续深入研究 Git 的内部工作原理。我们讨论 Git 内部使用的文件和文件夹、 Git 中哈希函数的作用以及 Git 对象( blob、trees等)的作用。接下来,我们讨论参考日志和git reflog命令。具体来说,我们学习如何使用引用日志来挽救“丢失的”提交和撤消变基。最后,我们学习如何编写自定义且强大的Git 别名!
在整个课程中,您会发现我创建的大量图表和视觉参考来尝试解释 Git。该课程还包括我在现场学生身上测试过的练习,让您有机会练习课程中的概念。如果您正在阅读这句话,我祝贺您已经完成了这一步:) 我希望您喜欢这门课程!
本课程适合谁:
- 任何有兴趣以任何身份学习 Git 的人:)
- 任何学习编码或希望进入技术领域的人
- 网络开发人员、数据科学家、软件工程师、移动开发人员、游戏开发人员等。
- 任何使用代码或担任与代码相关角色的人