我是怎么自学Git—GitHub的?
您已经看过
[清空]
    fa-home|fa-star-o
    当前位置:日收域名购买交易_日收站出售交易>日收高权重域名>我是怎么自学Git—GitHub的?

    我是怎么自学Git—GitHub的?

    原标题:我是怎么自学 Git / GitHub 的?

    大家好我是鱼皮,Git 和 GitHub 是如今团队协作开发必不可少的技能,且不说程序员,就连很多产品也在学习它们。今天分享一下我自学 Git 和 GitHub 的经验,希望起到一个 导学 的作用,帮助大家抓住重点,节省时间、更高效地自学。

    本文大纲:

    • Git(GitHub)是什么?有什么用?

    • 为什么要学?

    • 什么时候学?

    • 要学什么知识?哪些是重点?

    • 怎么学?有哪些方法和资源?

    • 以及面试的时候可能会考什么?

    Git / GitHub 是什么?有什么用?

    Git 是目前最主流的分布式版本控制系统 ,版本控制系统可以帮你保存文件的所有修改记录、并使用版本号进行区分。你可以随时浏览历史版本、将改错的文件还原到指定的版本,还可以对比不同版本的文件差异、防止旧版本覆盖新版本等。起到恢复和保护作用。而分布式是指每位开发者都能在本地维护自己的代码和修改记录,并且还能和其他人的记录进行同步。

    GtiHub 是主流的 代码托管平台 ,可以理解为一个存放和管理代码的 网盘,大家可以把自己的代码传上去进行共享和维护,也可以从平台下载代码。

    注意不要把二者搞混!

    Git 是工具(是抓手),而 GitHub 是平台。两者没有必然的联系,我们也可以用其他工具来向 GitHub 提交代码,也可以用 Git 向其他平台提交代码。gts

    为什么要用 Git / GitHub?

    Git 从最开始就是 Linux 之父为了更好地管理 Linux 内核开发而创立的。

    试想一下,假如有 100 个人一起来开发大型项目,怎么才能保证大家的代码不重复,又能共享呢?难道把代码放到 U 盘里拷来拷去,或者口口相传说:我今天要改这个文件,其他人都别动?

    肯定不行!

    所以分布式版本控制系统和代码托管平台出现了。大家可以把项目代码放到代码托管平台上,每个人都从上面下载代码,然后在自己的电脑改代码、维护自己的版本,最后在发布前,把大家不同版本的代码合到一起,再上传到平台就可以了,非常方便高效。

    公司为了安全,一般都会有自己的代码托管平台。而 GitHub 呢,是开源的,相当于世界上所有人都是同一家公司的员工,大家都能共享这上面的代码、免费学习和参与知名项目。

    为什么要学它?

    它们就是为协作开发而生的。因此,大多数公司都在用它们来管理项目。所以只要我们想找工作,就不得不学。

    我之前看到一些段子说:程序员入职新公司第一天,不会 git 被开除了。也能反映出来 Git 真的很重要!gts

    什么时候学?

    记住两个时间点就够了:

    1. 学过至少一门编程语言后

    2. 准备开发个人项目前

    这样你就可以把之后做的所有项目都放到 Github 去管理,维护自己的项目仓库。

    Git / GitHub 学习重点和方法

    我把 Git 的学习分为四个阶段:

    一、Git 基础本阶段目标

    1. 了解 Git 基本概念和常用命令的作用(理论)

    2. 能够使用 Git 命令来管理和提交项目代码,要走一遍完整的流程(实践)

    学习方法

    推荐《猴子都能懂的 Git 入门教程》。它是免费的,图文并茂、通俗易懂,花 1 小时看完入门篇就足够了。

    在学习时,大家一定要跟着教程多敲命令 ,要自己走完从新建文件到提交文件的完整流程。以实际操作为主,而不要去背那些命令。因为其实我们是可以用开发工具或者软件来可视化地操作 Git 的、而且哪怕忘了命令也可以查,所以死记硬背没有意义。

    分支是 Git 里很重要的概念,大家可以使用 Learning Git Branching 这个在线游戏来学习和理解分支。

    猴子都能懂的 Git 入门教程:https://backlog.com/git-tutorial/cn/

    Learning Git Branching:https://learngitbranching.js.org/?locale=zh_CNgts

    二、GitHub 基础

    首次接触 GitHub 时,你就把它当成一个资源网站,在搜索框里输入你想搜的东西就可以了,不需要任何的教程。

    但是如果我们想上传代码到 GitHub、和他人协作,就得好好学习一下了。

    目标

    1. 熟悉 GitHub 基本操作,并能够使用它来管理代码

    2. 了解如何利用 GitHub 搜索和下载项目代码

    3. 最重要的。了解 GitHub 协作流程;了解开源,并能向开源项目提交代码

    知识点
    • ⭐️ 基本概念

      • 什么是 Git(版本控制系统)

      • 什么是 GitHub(代码托管平台)

      • Git 和 GitHub 的作用

      • Git 和 GitHub 的联系与区别

    • ⭐️ Git 概念

      • 工作区

      • 暂存区(索引)

      • 本地版本库

      • 远程仓库

      • Git 文件状态

      • 版本

      • HEAD

      • 分支

    • Git 的安装

    • Git 常见配置(git config)

      • 个人信息

      • 修改配置

      • 查看配置

    • ⭐️ Git 基本操作(开发流程)

      • 初始化仓库(git init)

      • 克隆(git clone)

      • 暂存(git add)

      • 提交(git commit)

      • 推送(git push)

      • 拉取(git fetch)

      • 拉取合并(git pull)

      • 😐 查看状态(git status)gts

      • 😐 查看历史(git log)

    • ⭐️ 分支操作

      • 创建分支

      • 查看分支

      • 切换分支

      • 删除分支

      • 合并分支(git merge)

    知识点
    • 什么是 GitHub?

    • ⭐️ 如何访问 GitHub?

    • ⭐️ 基本概念

      • 主分支

      • 仓库

      • 分支

      • README

      • Star

      • Follow

      • 账户类型(个人 / 组织)

    • 必备操作

      • 公开

      • 私有

      • ⭐️ 搜索仓库 / 代码

      • 创建仓库

      • Fork 仓库

      • Watch 仓库

      • ⭐️ 上传本地代码

      • 修改个人信息

    • ⭐️ GitHub Flow 协作流程

      • 克隆 / Fork 仓库

      • 创建分支

      • 修改代码

      • 发起 Pull Request

      • Code Review

      • Merge 分支

      • 删除分支

    • ⭐️ 了解 GitHub Issues

    • ⭐️ 贡献代码流程

    学习方法

    我认为学 GitHub 最大的难点在哪呢???

    难点就是你得先能访问 GitHub!这个我就不多说了,大家自己找方法。

    刚开始直接跟着官方的 Hello World 入门教程来实操一遍提交代码的流程就算入门了,估计用不了 20 分钟。

    之后有空的话我建议大家阅读下 《GitHub 漫游指南》 ,这是一位大佬总结的经验技巧,能够加深你对 GitHub 的认识。

    还可以阅读《开源指北》电子书来了解开源,打开新世界的大门。

    Hello World 入门教程:https://docs.github.com/cn/get-started/quickstart/hello-worldgts

    《GitHub 漫游指南》:https://github.phodal.com/

    开源指北:https://oschina.gitee.io/opensource-guide/

    三、Git 进阶

    企业开发中,项目可能很大、协作人员很多,就容易出现代码冲突。比如你把我写的代码覆盖了,或者搞丢了一部分。

    为了更好地预防和解决这些问题,成为项目管理大师呢,建议大家还是了解下 Git 进阶知识。

    有同学说 Git 简单,如果只是能用它来工作的话的确不难。但是 Git 里面是有很多高级用法的,活用和会用有很大的区别。

    目标
    1. 学习 Git 高级操作,尤其是能够熟练地规避和解决冲突。

    2. 了解企业常用的 Git 协作流程、规范、项目管理方法,能独立管理项目。

    知识点
    • 高级操作

      • 标签(git tag)

      • 检出(git checkout)

      • ⭐️ 贮藏(git stash)

      • 清理(git clean)

      • 变基(git rebase)

      • 重置(git reset)

      • 还原(git revert)

      • 😐 检索(git grep)

      • 😐 展示差异(git diff)gts

      • 😐 溯源(git blame)

      • 😐 参考日志(git reflog)

      • 😐 交互式命令行(-i 参数)

    • ⭐️ 预防冲突

    • ⭐️ 解决冲突(重中之重)

    • ⭐️ 配置 SSH

    • 子模块

    • Git 钩子

      • 提交钩子(pre-commit)

    • ⭐️ 忽略提交(Gitignore)

    • ⭐️ cherry-pick

    • 分布式工作流程

    • Git worktree

    • Git Flow

    • 😐 Git 内部原理

    • Monorepo

    • 了解其他版本控制系统,和 Git 对比

    学习方法

    怎么学呢?我建议大家直接看 Git 的官方文档,不能再详细了,跟着文档敲一遍命令,有个印象就够了。

    四、GitHub 进阶

    如今 GitHub 的能力已经非常强了,除了代码的管理和检索外,它还集成了各种辅助团队开发和运营的功能,建议大家按需了解。

    GitHub 更多功能目标

    1. 学习更多 GitHub 功能,从而提升研发效率、更好地管理项目

    2. 尝试用心维护和推广自己的 GitHub 项目

    知识点
    • 开发

      • ⭐️ 配置 SSH 拉取

      • 😐 GitHub 快捷键

      • 😐 GitHub 命令面板

      • 😐 GitHub Apps

      • 代码安全

    • 协作

      • ⭐️ GitHub Codespaces

      • GitHub Discussions

      • Pull Requestsgts

    • 项目管理

      • Organizations 组织

      • GitHub Issues 问题反馈

      • 😐 GitHub Projects 项目管理

      • Insights 数据分析

      • 贡献者管理

      • 开源协议

    • DevOps

      • ⭐️ GitHub Pages 网站托管

      • Gitpod 代码托管

      • GitHub Actions

      • 😐 GitHub Packages

      • GitHub Webhook

    • 😐 Git 私服搭建

      • GitLab

      • Gogs

    学习方法

    和上一个阶段一样,进阶的最好方式就是阅读官方文档!GitHub 的文档又新又全、还有中文版、还好懂,简直就是完美的教程,这年头,你想找个国外的、能让人看得懂的文档,真心不容易。

    此外,建议多看一些别人分享的 GitHub 技巧,比如我之前分享过的几个隐藏的 GitHub 小操作,在仓库页面按一个 。 键,就能更方便地阅读代码了,还是很实用的。

    总之想学好 Git 就要多敲多实践,多用它来管理项目,试着跟别人一起协作开发,慢慢地就熟练了。

    面试考点

    Git 在面试中的占比一般是很低的,至少我秋招 20 多轮面试中 1 次都没被问到过,所以大家不用刻意去准备。

    不过有时间的话可以了解一下常见的面试题,比如下面这些:

    Git 面试题gts

    以上就是本期分享了,这份学习路线的详情和资源放到了 我的编程知识星球 (点击了解详情),欢迎加入一起学习编程。可以向鱼皮和大厂同学 1 对 1 提问、帮你制定学习计划不迷茫、跟着鱼皮直播做项目(往期项目可无限回看)、领取鱼皮原创编程学习 / 求职资料等。最近秋招开始了,星球内也在帮大家规划求职进度、完善简历和项目亮点。

    往期推荐

    盘点 Vue.js 那些有趣的版本名称!

    计算机专业,下一个土木?

    转行大数据 1 个月,我麻了。。。

    这个17k star 的拖拽库有点料~

    编程导航,火了!返回搜狐,查看更多

    责任编辑:

    我是怎么自学Git—GitHub的?》由《日收域名购买交易_日收站出售交易》整理呈现,请在转载分享时带上本文链接,谢谢!

    支持Ctrl+Enter提交
    日收域名购买交易_日收站出售交易 © All Rights Reserved.  Copyright Your WebSite.Some Rights Reserved.
    Powered by 日收站出售 Themes by 日收域名出售