Coursera 笔记

Module 01 · Git and GitHub FundamentalsGit 与 GitHub 基础

Introduction to GitHubGitHub 入门介绍

Coursera ↗

欢迎观看 GitHub 入门介绍 视频!通过观看本视频,您将能够:

  • 描述 源代码仓库 的目的,并解释 GitHub 如何满足源代码仓库的需求。

Linux 开发与 Git 的诞生

在 2000 年代初,Linux 的开发管理是通过一个名为 BitKeeper 的免费系统进行的。但在 2005 年,BitKeeper 变成了收费系统,这对于 Linux 开发者来说,带来了很多问题。于是,Linus Torvalds 领导团队开发了一个替代的 源代码版本控制系统。

该项目的开发时间非常紧张,且关键特性由一个小团队定义,主要包括:

  • 强大的非线性开发支持:Linux 补丁的提交速度达到每秒 6.7 个补丁。
  • 分布式开发:每个开发者可以在本地拥有完整的开发历史记录。
  • 兼容现有的系统和协议:这是为了满足 Linux 社区的多样性需求。
  • 高效处理大型项目。
  • 加密历史记录认证:确保所有分布式系统中都有相同的代码更新。
  • 可插拔合并策略:多条开发路径可能会导致复杂的集成决策,可能需要明确的集成策略。

Git 仓库模型的独特之处

Git 设计为分布式版本控制系统

Git 是一个 分布式版本控制系统,主要用于在开发过程中追踪源代码的变化。Git 包含一些功能,用于在程序员之间进行协调、跟踪更改,并支持非线性工作流。

  • 2005年,Linus Torvalds 为了分发 Linux 内核,创建了 Git。
  • Git 是一个 分布式版本控制系统,用于追踪内容的变化,并作为协作的核心,尤其关注 敏捷开发方法。

中心化版本控制 vs. 分布式版本控制

  • 在中心化版本控制系统中,每个开发者都需要从中央系统 检出 代码并提交回去。
  • 在 Git 这样的分布式版本控制中,每个开发者都拥有 本地副本,包含完整的开发历史记录,并且更改是从一个仓库复制到另一个仓库的。每个开发者都可以充当 中心节点。

Git 的工作原理

  • 当正确使用 Git 时,主分支(main branch)对应着可部署的代码。
  • 团队可以不断集成准备发布的更改,同时可以在不同的分支上进行工作,直到发布时再进行合并。

Git 还允许通过 集中管理 任务,并对每个团队的成员设置访问级别。

GitHub 的作用

GitHub 是一个 Git 仓库托管服务,它由 微软 的子公司托管。GitHub 提供了免费的账户,也有专业和企业账户。根据 2019 年 8 月的数据,GitHub 上已有超过 1 亿个仓库。

  • 仓库(Repository):一个存储文档(包括应用程序源代码)的数据结构,支持版本控制。
  • GitHub Desktop 是一个本地客户端,也可以通过浏览器直接访问 GitHub 网站,进行远程操作。

GitLab 与 DevOps

GitLab 是一个完整的 DevOps 平台,以单一应用程序的形式提供。它为开发者提供对 Git 仓库 的访问,并通过 源代码管理 进行控制。

使用 GitLab,开发者可以:

  • 协作:通过审查代码、发表评论和互相帮助改进代码。
  • 在本地复制代码进行工作。
  • 在需要时进行分支和合并操作。
  • 使用内置的 持续集成(CI) 和 持续交付(CD) 流程,简化测试和交付。

本视频回顾

在本视频中,您学到了:

  • GitHub 是 Git 仓库的在线托管服务。
  • 仓库 存储包括应用程序源代码在内的文档,并使贡献者能够跟踪和维护版本控制。
  • Git 的独特之处:Git 是一个分布式版本控制系统,主要关注在开发过程中追踪源代码的变化,支持程序员之间的协调、跟踪更改并支持非线性工作流。