跳转至

Git 与 GitHub

Git 的学习一定非常注重实践, 许多指令的作用也能在一次次实践中弄懂。

因此以下只对 Git 的学习进行简单指导,诸如如何注册等不再提及,需读者自行多实践并检索相关知识。

简单说说 Git 与 GitHub 能做些什么

  1. 记录历史:每次改动都存一个快照,可随时比较、回退。
  2. 并行开发:不同人在不同分支上开发,最后合并。
  3. 备份与同步:本地、远程仓库互为备份;push/pull 即可同步。
  4. 代码审查:通过 Pull Request/Merge Request 流程讨论和审阅代码。
  5. 发布管理:打 Tag 做版本发布,或用分支维护多个线上版本。

对于新手来说,可以试着将自己刚学习编程时写的代码都通过 Git 上传到 GitHub 进行保存与管理。

以下概念需要读者自行检索了解:

仓库(repo)、工作区、暂存区、版本库、分支、合并

Git 与 GitHub 之间的关系

Git 只是一个装在本地电脑里的工具,负责做版本控制,可以记录文件的每一次变化。

而 GitHub 是全球最大的开源代码托管平台(简单来说就是一个可以存代码仓库的网站),把 Git 仓库放到云端服务器上,方便多人共享、浏览和协作,还提供 Issues、Pull Request、CI/CD 等附加功能。也有人将 GitHub 比喻成“程序员的朋友圈 + 代码仓库”。

❓ 新手常见问题:

Q:一定要用 Git 命令吗?

A:不需要!平台提供网页操作(上传/下载/编辑),入门可不学命令。

Q:私有项目收费吗?

A:主流平台(GitHub/Gitee/GitLink)免费提供私有仓库。

Q:代码被看到会泄密吗?

A:创建时选择 🔒Private(私有)选项即可隐藏代码。

以下术语需要读者自行了解:

Fork、Star、Watch、Issues、Pull Request、CI/CD

Git 基础配置

使用 Git 之前,首先需要进行一些基本配置,包括设置用户名和邮箱。这些信息会与每次提交(Commit)关联,用于标识代码的贡献者。

篇幅有限,具体操作请读者自行检索如何配置,比如如何使用 SSH 连接远程仓库。可以先在 GitHub 上找到一个开源仓库(如 https://github.com/octocat/Hello-World),再用 SSH 方式克隆到本地。

创建并管理仓库(Repository)

光会浏览别人的项目还停留在非常初步的阶段,我们可以自己创建仓库来管理。

如何创建仓库并不难,简单检索即可上手。

同时也可以了解什么是开源许可证(license),如何选择开源许可证、各个许可证的内容是什么,以及自己感兴趣的项目使用了哪个许可证。

而在开发和协作时,我们经常需要区分两个重要概念:本地与远程:

在 Git 中,本地通常指你的本地仓库,而远程指远程仓库(如 GitHub)。你需要通过 git push 将本地的更改同步到远程,或通过 git pull 将远程的更新拉取到本地。这种“本地—远程”协作模式是现代开发的核心实践之一。

Git 基础操作

Git 有很多指令,对于新手来说常用的并不多。以下为一些指令速记:初始化项目(git init)、克隆仓库(git clone)、基本操作(git add、git commit、git status、git log)、分支管理(git branch、git checkout、git merge),以及与远程仓库交互(git pull、git push、git fetch)。

新手可以先从 git initgit clonegit addgit commitgit pullgit push 以及 git log 开始,其余的完全可以等需要的时候再学习。

补充:在学习过程中,推荐先了解何为暂存区(Staging Area),例如如何修改暂存区、如何撤销暂存区的更改等。

为何需要分支管理

良好的分支策略能降低协作冲突、隔离风险,并支撑清晰的发布与回滚流程。

  1. 并行开发:不同功能可以同时开发,互不影响。
  2. 方便试验:新想法在独立分支尝试,失败可直接丢弃。
  3. 协作清晰:每个分支代表一个任务,合并更直观。
  4. 版本管理:不同分支对应不同用途,如:
  5. main:稳定版
  6. develop:开发版

如何写好 commit message

Commit message 相当于是对自己一次代码更改的简单说明;在与他人合作时,别人也可以一眼看出你这次更改主要是什么内容。

有很多项目都有自己的贡献指南,会指出在贡献此项目时 commit message 应该遵循怎样的规范。我们完全可以通过查看别人的 commit 记录来模仿,从而规范自己的 commit message,在此便不做额外阐述。

如何提交 PR(Pull Request)

一句话概括其流程:Fork → Clone → 新建分支 → 修改代码 → commit → push → 在 GitHub 点击 “Compare & pull request” → 填标题/描述 → 提交。

至于为何要提交 PR,简单来说就是为了让代码在正式合并前可被同事审查、跑自动测试,防止把 bug 直接推进主干。

学习资料补充

Learning Git Branching 在此教程中能执行相应的命令,还能看到每个命令的执行情况,被称为最好的 git 学习实践教程。