Git 和 Github 训练营
掌握要点和棘手的部分:变基、挤压、存储、引用日志、斑点、树等等!
讲师:Colt Steele
口袋资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
你将会学到的
- 了解 Git 如何在幕后工作
- 解释 Git 对象的区别:树、blob、提交和带注释的标签
- 掌握基本的 Git 工作流程:添加和提交
- 使用 Git 分支
- 执行 Git 合并并解决合并冲突
- 使用 Git diff 显示随时间的变化
- 掌握 Git 存储
- 使用 git restore、git revert 和 git reset 撤消更改
- 使用本地和远程存储库
- 掌握协作工作流程:拉取请求、“分叉和克隆”等。
- 使用交互式 rebase 压缩、清理和重写历史
- 使用 git reflogs 检索“丢失”的工作
- 编写自定义且强大的 Git 别名
- 使用 Git 标签标记发布和版本
- 使用 Github Pages 托管静态网站
- 创建降价自述文件
- 使用 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 合并。最后,我们详细介绍了分支、合并和解决冲突。
然后我们转到Next Level Git单元,在这里我们将介绍非常有用的附加命令和 Git 概念,但可能不像 Git Essentials 那样“核心”。我们首先全面了解gif diff命令以及我们可以在提交、分支、工作目录、暂存区域等之间进行的各种比较!我们特别注意读取和解析 diff 生成的密集输出。然后,我们将注意力转移到使用git stash命令进行存储,这是一个许多用户喜欢将其整合到他们的 Git 工作流程中的“便利命令”。最后,我们深入研究撤消更改和时间旅行与 Git。我们学习如何重新审视早期的工作,分离和重新连接 HEAD,以及丢弃更改。我们介绍了帮助我们撤消更改的 git 命令,包括git checkout、git restore、git reset和git revert。
接下来,我们改变方向,专注于Github & Collaboration。我们首先探索托管远程存储库的 Github(和类似工具)并讨论它们提供的好处。我们创建自己的 Github 存储库,并使用git push、git pull和git fetch命令在远程和本地存储库之间同步更改。然后,我们专注于学生在现实世界中可能遇到的常用协作工作流程:功能分支、拉取请求、分叉和克隆等等!我们讨论为开源做贡献项目和配置 Github 存储库以进行协作。我们还花一些时间了解有用的 Github 功能,包括 Github Gists和Github Pages,用于免费静态托管。
课程的最后一个单元,The Tricky Bits,实际上只是一个有用的 Git 命令和高级主题的集合。我们首先介绍一个“更可怕”的 Git 命令:变基!我们讨论了变基的潜在好处和陷阱,并将其与合并进行了比较。然后我们学习如何通过使用交互式 rebase命令重写、编辑、删除和压缩提交来清理我们的 Git 历史记录。接下来,我们讨论Git 标签(轻量级和带注释的标签)语义版本控制和标记工作流程。之后,我们继续深入研究 Git 的内部工作原理。我们讨论 Git 内部使用的文件和文件夹,散列的作用Git 中的函数,以及 Git 对象(blob、trees等)的作用。接下来,我们讨论参考日志和git reflog命令。具体来说,我们学习了如何使用 reflogs 来挽救“丢失”的提交和撤消 rebase。最后,我们学习如何编写自定义且强大的Git 别名!
在整个课程中,你会发现我创建的大量图表和视觉参考资料,用于尝试解释 Git。该课程还包括我在我的面对面学生身上测试过的练习,让你有机会在此过程中练习课程中的概念。如果你正在阅读这句话,我祝贺你能做到这一点 :) 希望你喜欢这门课程!
此课程面向哪些人:
- 任何有兴趣以任何身份学习 Git 的人 :)
- 任何学习编码或希望进入技术领域的人
- Web 开发人员、数据科学家、软件工程师、移动开发人员、游戏开发人员等。
- 任何使用代码或担任代码相邻角色的人