给零基础的家人 · 本地初稿 v0.1

GitHub,就是大家一起
编一本家传菜谱

奶奶,您不用先懂电脑。咱们先看图:菜谱放在哪里、谁改了哪一页、怎样让家里人一起把它改好。

1一个记版本,一个让大家见面

Git 管“改过哪些版”;GitHub 管“把项目放到网上,一起做”。

修订登记本Git

在电脑里记住每次修改。

网上工作室GitHub

放项目,提问题,审阅改动。

自己的电脑 ⇄ 网上共同工作室

慢慢讲:为什么需要它?

从前,您写一张菜谱。亲戚改了几处,另一位亲戚又改了几处。最后桌上出现“新版”“最新版”“真正最新版”,很难知道该用哪张。

Git 帮忙把每次整理好的修改记下来。您能查谁改了什么,也能对照旧版。GitHub 把这样的项目放在网上,方便家人各自工作,再一起讨论改动。

真实项目里的“菜谱”常常是软件代码,也可以是文章、网页和说明书。“记一版”像拍一张快照;实际是记录文件状态,不是拍照片,也不是每次都复制整个文件夹。

先记住:GitHub 可以保存软件的源码;软件怎样安装、怎样运行,要再看项目说明。

依据:GitHub 官方:Git 与 GitHub 的关系。

2打开一个项目,先找“说明页”

仓库是一盒完整资料;README 告诉您这盒资料怎么用。

nainai / recipes
主人 / 仓库名 · 示例页面
Code 文件Issues 问题Pull requests 改动提议Actions 自动任务Settings 设置
📁 recipes/放各种菜谱的目录
📄 README.md先读的使用说明
📄 LICENSE允许怎样使用与分享

README · 这本菜谱怎么用

做什么 → 怎么开始 → 不懂去哪里问

只看、只用先读 README
遇到问题查 Issues
想改一处了解 PR
慢慢讲:这些英文按钮应该怎样看?

先看仓库主人和名字。比如 nainai/recipes,斜杠前是账号或组织,后面是项目名。这里是讲解用的例子,不是真实下载地址。

Code 是文件区;Issues 像问题登记簿;Pull requests 放别人提出的修改;Actions 展示自动任务;Settings 管设置和权限。不是每个项目都显示全部栏目。

文件列表下方常会出现 README。先读“项目做什么、如何安装和使用”。想直接使用软件时,按 README 找到官网、在线入口或 Releases 下载页,不一定需要碰代码。

资料公开让您看,不代表您可以直接改作者的原仓库。想复用或分发,也要看 License 的规定。

依据:GitHub 官方:README。

3保存、记版本、送上网,是三件事

电脑上的修改,得经过相应步骤,网上那份才会更新。

修改并保存文件改了
挑选改动Stage / Add
记下一版Commit
送到网上Push
第一版盐 3 勺
第二版盐 2 勺
第三版盐 1 勺

数字只是演示。历史里能查每次已记录的变化。

慢慢讲:用一次少盐修改,把四个动作讲清楚
  1. 修改并保存:在电脑里,把“盐三勺”改成“盐一勺”。这时文件变了,但 Git 历史还没增加这一版。
  2. Stage / Add,挑好:告诉 Git:“这次就记录这页的改动。”像把要归档的页放进篮子。工具可以帮您完成这个步骤。
  3. Commit,记下:记成一个版本,写一句说明:“红烧肉减少两勺盐。”在电脑上提交,这一版仍在电脑里。
  4. Push,送出:把已提交的版本送到您有权限的网上分支。家人才能在那个地方看到。
例外要说清:如果直接在 GitHub 网页里编辑并 Commit,提交就发生在网上,不需要再从电脑 Push。

别人更新了怎么办?第一次拿项目回电脑叫 Clone。以后取新记录叫 Fetch;取回来并整合到当前分支叫 Pull。整合有时需要人解决冲突。

Git 能回看已记录的内容,但不是“无论怎样误删都能恢复”。未提交的修改、仓库之外的文件,不能指望它替您保住。

依据:GitHub 官方:Clone、Fetch 与 Pull。

4先在草稿试,再请大家看

分支用来单独改;PR 用来商量;Merge 才把修改合进去。

家里共同参照的主线main · 主分支
盐 3 勺原来的做法
从主线分出的草稿Branch · 少盐分支
盐 1 勺只在草稿里试
① 只改草稿:少盐版已经改好,主线仍是盐三勺。

这是网页里的教学演示,不会操作真实 GitHub。

慢慢讲:草稿会不会弄乱原稿?亲戚意见不一样怎么办?

奶奶想少放盐,孙女想少放糖。两人可以各开一个 Branch,分支,先从现有版本各自修改。分支里的提交不会因为存在就自动进入主线。

改完后提 PR,修改提议:“请看看我改了什么。”大家查看 Diff,前后差异,提出意见。这一步叫 Review,审阅。继续在同一来源分支提交和推送,PR 通常会跟着更新。

等相关规则和检查满足,由有权限的人执行 Merge,合并。这时修改才进入目标分支。修改可能被采纳,也可能被要求调整或关闭。

如果两个人把同一句话改得不同,Git 不能判断留哪个,就出现 Conflict,冲突。大家要决定最终写法,完成处理后才能继续合并;很多互不冲突的修改可以自动合在一起。

没有权限改原仓库时:先 Fork 到自己的网上空间,再在自己的项目里改,最后提 PR 给原作者。这里 Fork 是另一个仓库,Branch 是同一个仓库里的路线。

“main”只是常见名字。它是主线,不自动代表已测试、已发布或正在网上运行。合并与部署要分别看。

依据:GitHub 官方:协作流程、Fork 与 Branch。

5先选:您是想“用”,还是想“改”?

只想使用软件,不需要把整套开发流程都走一遍。

路线 A · 找来使用

  1. 找到正确项目核对主人、名字和项目用途。
  2. 读 README先看支持什么设备、怎样使用。
  3. 按说明找入口可能是官网、在线网页或 Releases。
  4. 选适合的下载安装包要对应您的系统;源码包不是安装包。
  5. 使用,再反馈先查已知问题;有新问题再提 Issue。

像借菜谱回去做饭。
无需先学会 Fork、Commit 或 PR。

路线 B · 一起修改

  1. 读说明与参与规则搞清楚要改什么,修改应交到哪里。
  2. 准备自己的工作位置有写权限,可在同仓库建分支;没有时,常先 Fork。
  3. 选择网页或电脑少量文字可用网页;本地开发则 Clone 回电脑。
  4. 建分支,修改并检查先在草稿路线工作,验证修改。
  5. Commit;本地还需 Push记录修改,再把本地提交送到网上分支。
  6. 提 PR,回应审阅讲清改了什么、为什么改,按反馈调整。
  7. 由有权限的人合并满足规则后合入目标;电脑再取回更新。
慢慢讲:第一次练习:只改一处错字,用网页也能完成

第一次可以练习改一句说明,不用安装开发工具。以下是教学步骤,本页不会替您注册、提交或发布。

  1. 准备:注册并登录 GitHub。如果还没有仓库,在网站找 New repository 或新建入口,给仓库取名,例如 family-recipes;练习可选 Private,并勾选添加 README,再创建。不要放私人凭据或敏感资料。
  2. 建草稿:在文件列表附近的分支选择器里,通常显示 main。建立一个新分支,例如 fix-typo,并确认已经切到它。
  3. 改字:打开 README.md,找到编辑入口,把一个错字改正。完成后找 Commit changes,写“修正说明里的错字”,并确认提交目标是草稿分支。
  4. 提议:在 Pull requests 中新建 PR,选 Base 为 main,Compare 为 fix-typo。查看差异,确保只改了预期内容,再写清说明、创建 PR。
  5. 审阅:检查 Files changed 等差异页。有家人帮忙,就请他们看看;若要补改,继续编辑草稿分支。
  6. 合并:由有权限的人按仓库规则合并。回 main 看那句话是否已更新。完成后可清理不再使用的草稿分支;保留的提交和 PR 仍可查。

按钮位置可能随页面和权限不同;抓住动作比记位置更有用。没有写权限时,网站可能引导您先 Fork。直接网页编辑不用 Clone、Stage 或从电脑 Push,网站会处理相应记录步骤。

依据:GitHub 官方:第一个 PR。

慢慢讲:电脑上的完整路线:一条一条看方向
网上原项目→ Fork(按需)→自己的网上仓库→ Clone →电脑里的仓库→ Branch →改动、检查→ Stage →Commit→ Push →网上来源分支→ PR、审阅、Merge →目标分支

Fork 不是每次都需要:有同仓库写权限的人常直接在仓库里建分支。Clone 也不是每次都做:同一电脑已经有仓库后,之后更新通常用 Fetch 或 Pull。

合并之后,网上目标分支更新了;本地工作者切到对应分支,再取回并整合更新。Fork 用户也要注意同步原项目,否则自己的副本会落后。

不想输命令,可以通过 GitHub Desktop 的按钮完成许多本地操作。命令行是另一种操作方式,不是理解这些概念的门槛。

慢慢讲:只想下载:ZIP、Release、安装包怎样分?

Code → Download ZIP:下载选定分支当时的文件,常是源码。通常没有完整 Git 历史,也不会自己跟着原项目更新。

Releases:作者整理的发布版本页面。里面的 Assets 可能有安装包,也可能只有其他文件。看到 Source code (zip) 或 Source code (tar.gz),下载的是该版本的源码。

能不能直接运行:看项目提供什么文件和 README 怎样说明。安装包通常针对特定操作系统和设备;有的项目只提供源码,需要另外构建;还有的提供在线使用入口。

拿到文件不等于已经安装好。就像拿到菜谱,不等于饭已经做熟。照项目说明选对路径。

依据:GitHub 官方:发布版本与下载附件。

6英文遇到一个,就查一个

不用背整本词典。先认“仓库、版本、草稿、提议、合并”;其他词用到再看。

先认识地方与东西

GitHub网上的共同工作室

白话说:一个存放项目、记录变化、一起讨论修改的平台。项目可以是软件,也可以是文章、说明书。

想成:家里人把菜谱放到一个网上工作室,一起查看、修改。

分清:它不只是下载软件的商店,也不是电脑里所有文件的自动备份。

Git记录每一版的工具

白话说:一种版本管理工具:记录文件的历史,比较差异,处理分支与合并。通常装在电脑上,也被 GitHub 使用。

想成:奶奶记下“哪天、谁、把盐从几勺改成几勺”。

分清:Git 和 GitHub 是两个东西;本地 Git 的记录可以离线完成。

Repository / Repo一个项目的资料盒

白话说:简称“仓库”,包括项目文件和它们的版本历史;GitHub 还围绕它提供讨论、问题单等功能。

想成:“家传菜谱”是一个盒子,里面有红烧肉、饺子和使用说明。

分清:不是整个 GitHub。一个账号可以拥有多个仓库。

Owner / Username / Organization盒子的主人、个人名与团队名

白话说:Owner 是仓库所属的个人或组织;Username 是个人账号名;Organization 是多人共同管理项目的团队空间。

想成:nainai/recipes 表示:nainai 名下的 recipes 仓库。

分清:斜杠前是主人,后是仓库名;组织也可以拥有仓库。

Public / Private公开 / 私有

白话说:Public 仓库任何人都能查看;Private 仓库只有获授权的人才能访问。

想成:公开像摆在阅览室,私有像只有指定家人能打开的柜子。

分清:能看不代表能修改原仓库;公开也不自动代表可以任意商用。

Code / Source code文件区 / 软件的原始说明

白话说:Code 页面展示项目文件;Source code 指程序员写的、告诉电脑怎样做事的代码。

想成:菜谱写“先放油,再下锅”,代码写“先读取,再计算”。

分清:看到源码,不等于已经拿到能双击运行的软件。

File / Folder / Directory / Path单页 / 分隔袋 / 位置

白话说:File 是文件;Folder 和 Directory 都表示目录。Path 是文件在目录中的位置。

想成:recipes/soup.md:先打开 recipes 袋子,再找 soup.md 这页。

分清:文件名后面的 .md、.py、.html 表示不同类型。

README先读我:使用说明

白话说:项目的入口说明,通常介绍用途、怎样安装、怎样使用和怎样求助。

想成:盒子最上面的一页:“这本菜谱怎么用”。

分清:通常先读它,再决定下载什么、需不需要安装。

Markdown / .md简单的文字排版写法

白话说:用普通文字加少量符号写标题、列表和链接;.md 常是这类文件的后缀。

想成:写 # 红烧肉,就可以显示成一个大标题。

分清:它主要负责排版,不是用来运行软件的程序。

License / Open source使用规则 / 开源

白话说:License 说明作者允许怎样使用、修改和分发;开源项目通过相应许可证允许人们查看、修改及分发源码。

想成:作者可以允许分享菜谱,同时要求保留作者名字。

分清:公开可看与开源授权不同。具体能做什么,要读许可证。

CONTRIBUTING / Code of conduct参与说明 / 相处规则

白话说:前者说明如何提问题、提交修改;后者说明参与者应遵守的行为规范。

想成:先读“怎样交新菜谱”和“讨论时怎样尊重别人”。

分清:每个项目的具体要求可能不同。

记版本:每次修改去了哪里

Local / Remote电脑里 / 另一处

白话说:Local 指当前电脑上的文件和仓库;Remote 指连接的另一处仓库,常在 GitHub 上。

想成:家里桌上的菜谱与网上工作室里的菜谱。

分清:修改本地文件,不会自动修改网上那份。

Working tree手上正在改的文件

白话说:又称工作区:你当前打开、编辑和保存的项目文件。

想成:桌上正在改、还没归档的菜谱页。

分清:这里的改动未必已经进入 Git 版本历史。

Stage / Staging area / git add选好这次要记的内容

白话说:暂存是挑选下一次 Commit 要包含的改动;暂存区记录这些选好的内容。

想成:今天改了三道菜,先挑两道放进“这次归档”篮子。

分清:暂存不会上传;文件暂存后又改了,需要再暂存新改动。

Commit / Commit message记下一版 / 写修改说明

白话说:Commit 把选好的内容记成一个历史节点;说明写清这次改了什么。

想成:记下一版,并写“红烧肉少放一勺盐”。

分清:在电脑上 Commit,只记在本地;在 GitHub 网页提交,则记在对应的网上仓库。

Hash / SHA这一版的识别号码

白话说:提交有一串由内容等信息计算出的标识,页面常显示它的短写。

想成:例如 a1b2c3d:让家人知道说的是哪次改动。

分清:识别号不是密码,也不等同于 v1.0 这样的发布版本名。

History / Log过去的修改记录

白话说:按历史查看提交:谁改了什么、何时改、说明是什么。

想成:像翻菜谱的修订登记簿。

分清:只能查看已经记录的历史,没保存、没提交的内容未必能找回。

Diff / Compare对照前后哪里变了

白话说:Diff 展示文件差异;Compare 可以比较分支或版本。

想成:旧页“盐三勺”,新页“盐一勺”:一眼看出修改。

分清:GitHub 常用红色表示删掉的行、绿色表示新增的行;这不是好坏评分。

Push把已记下的版本送出去

白话说:把本地提交送到指定的远端分支,前提是你有相应权限。

想成:把电脑里归档的新菜谱送到网上自己的那一份。

分清:Push 不等于合入 main;但若推到 main 或触发发布自动化,影响会不同。

Fetch把网上的新记录先取回来

白话说:下载远端新增的提交和分支信息,暂不把它们合入当前本地分支。

想成:取来亲戚的新菜谱,先放旁边看看。

分清:Fetch 本身不会把当前正在用的菜谱改成新版。

Pull取回来,并整合到当前分支

白话说:先取远端更新,再整合到当前本地分支;整合方式可能是合并或变基,取决于设置。

想成:亲戚更新了菜谱,你取回来后,整理进手上的版本。

分清:可能遇到冲突。开始前先妥善保存、提交或暂存手头工作。

Clone第一次拿一份到电脑里

白话说:把已有 Git 仓库复制到本地;常规克隆包含文件和提交历史,并建立远端连接。

想成:第一次从网上拿回一整套带修订记录的菜谱。

分清:不会在你的 GitHub 账号下新建仓库;浅克隆等方式可能只取部分历史。

Download ZIP下载当时的文件包

白话说:把选定分支或版本的文件打包下载到电脑。

想成:拿走当前这一版菜谱的复印包。

分清:通常不带 Git 历史和远端连接;不会自动更新,也未必能直接运行。

origin / upstream连接地址的常用名字

白话说:origin 通常是克隆来源的远端别名;在 Fork 协作中,人们常把原项目的远端命名为 upstream。

想成:origin 像“自己的网上柜子”,upstream 像“原作者柜子”。

分清:它们只是常用名称,可以自定义;origin 不一定是你的仓库。

Status / Untracked / Modified / Staged查看当前修改状态

白话说:Status 看状态;Untracked 是尚未跟踪的文件,Modified 是已跟踪文件被修改,Staged 是改动已选入暂存区。

想成:查一查:哪些新页、哪些改过、哪些已经放进篮子。

分清:这几个词表示记录进度,不表示内容是否正确。

.git / .gitignore版本资料目录 / 忽略清单

白话说:.git 保存本地仓库的版本管理数据;.gitignore 列出通常不想跟踪的文件模式。

想成:修订登记簿单独收好;临时草稿不入册。

分清:忽略规则不会自动移除已经跟踪的文件,也不会抹去已经提交的秘密。

一起改:草稿、审阅与合并

Branch同一仓库里的修改路线

白话说:通常从一个已有版本分出一条路线,分别记录后续提交。

想成:从现有菜谱出发,开一个“少盐试做”草稿。

分清:分支不是另一个仓库;比喻成副本方便理解,实际通常不会复制整套文件。

main / master / Default branch主线 / 默认打开的分支

白话说:main 是常见主分支名,旧项目也可能用 master;Default branch 是仓库设置的默认分支。

想成:家里通常参照的那条菜谱主线。

分清:名字可以不同;main 上的内容不保证已经测试好或已发布。

Fork在网上分出自己的项目

白话说:在自己的账号或组织下建立与原仓库相连的独立仓库,可以在自己有权限的地方修改。

想成:把别人家的菜谱分出一份,放进自己的网上柜子。

分清:Fork 在网上,Clone 到电脑;Fork 不会自动跟随原项目的每次更新。

Pull request / PR请审阅并合入我的修改

白话说:把一个分支的改动提议合入另一个分支;可来自同一仓库,也可来自 Fork。

想成:“我试了少盐版,请大家看看,要不要写进家里的菜谱?”

分清:PR 是提议,可讨论、修改或关闭;Pull 是取更新,两者不是同一动作。

Base / Head / Compare branch接收改动的地方 / 改动来源

白话说:PR 的 Base 是目标分支;Head 或 Compare 是提供修改的来源分支。

想成:从“少盐草稿”送往“main”:草稿是来源,main 是目标。

分清:提交 PR 前看清方向,别把目标和来源选反。

Draft PR还没做完的修改提议

白话说:提前展示工作进度、收集意见的 PR;需要改为准备就绪后才可合并。

想成:“这道菜还在试,大家先看看思路。”

分清:Draft 不是正式完成,也不表示改动已经进入主线。

Review / Approve / Request changes审阅 / 同意 / 要求修改

白话说:审阅者查看差异并反馈;可以同意,也可以指出必须调整的地方。

想成:家人尝一尝:“盐正好”;或说:“再少一点油”。

分清:有人同意不等于已经合并;还可能有检查和权限要求。

Merge把一条路线的修改合进另一条

白话说:将分支里的修改纳入目标分支,让它们共同成为后续版本的一部分。

想成:确认少盐版后,把它写进家里的主菜谱。

分清:合并不等于发布到网站或软件用户手里;是否发布取决于项目流程。

Conflict不同改法撞到一起了

白话说:Git 无法自动判断怎样兼容两边改动时,需要人决定最终内容。

想成:同一句“盐两勺”,一人改一勺,一人改三勺,要商量留下哪种。

分清:常见于同一区域的不同修改;不是丢失所有文件,也不是谁一定做错。

Protected branch / Ruleset重要分支的门槛

白话说:通过规则限制直接修改、要求审阅或检查,减少随意更改重要分支。

想成:主菜谱规定:先试做、再审阅,才能加入。

分清:具体门槛由项目设置决定,不是所有仓库都一样。

Contributor / Collaborator / Maintainer贡献者 / 获授权协作者 / 维护者

白话说:贡献者提供代码、文档或其他帮助;协作者有指定权限;维护者负责持续管理项目,具体职责因项目而异。

想成:有人提建议,有人写菜谱,有人负责最后整理。

分清:“给过建议”不自动等于“能直接改主菜谱”。

提问题、找项目与跟进

Issue / Bug / Feature request问题单 / 缺陷 / 新功能建议

白话说:Issue 用来记录问题、任务或需求;Bug 是不符合预期的错误,Feature request 是希望增加的能力。

想成:“第三步没写煮多久”是问题;“加一道素菜”是新建议。

分清:提 Issue 不会自动修好问题,也不保证作者立即处理。

Discussion / Comment / @mention讨论区 / 留言 / 点名提醒

白话说:Discussion 用来交流与问答;Comment 是某个事项下的留言;@账号 用来提及相关的人。

想成:先讨论要不要做新菜,再在具体菜谱旁写意见。

分清:不是每个仓库都启用 Discussions;点名也不代表对方必须回应。

Label / Assignee / Milestone分类贴纸 / 负责人 / 阶段目标

白话说:Label 标注类型或状态;Assignee 标记负责跟进的人;Milestone 聚合同一阶段要做的事项。

想成:贴“缺步骤”,交给小王,列入“春节前整理”。

分清:这些帮助安排工作;贴了标签并不表示任务已经完成。

Open / Closed / Merged还在处理 / 已关闭 / 已合并

白话说:Open 表示仍开放;Closed 表示停止开放,原因可能是完成、重复或不采纳;Merged 表示 PR 的改动已经合入目标。

想成:建议仍在谈;停止讨论;新菜谱已入册。

分清:Closed 的 PR 不一定合并过;Closed 的 Issue 不一定表示修好了。

Star收藏并表达喜欢

白话说:把项目放进自己的收藏,方便以后找,也表达对项目的兴趣。

想成:给喜欢的菜谱贴一颗星,回头容易找到。

分清:收藏不会下载,也不等于订阅全部动态;星多也不是质量保证。

Watch / Notifications订阅动态 / 接收提醒

白话说:Watch 设置想收到哪些仓库动态;Notifications 是收到的提醒,具体受你的订阅设置影响。

想成:请人告诉你:“这本菜谱出了新版。”

分清:提醒多少取决于设置;可只关注某些活动或取消订阅。

Follow / Profile关注一个人 / 个人主页

白话说:Follow 跟进某位用户的部分公开活动;Profile 展示其简介和公开项目等信息。

想成:关注爱做菜的亲戚,而不只是某一本菜谱。

分清:Follow 跟人,Star 收藏项目,Watch 订阅项目动态。

Projects / Wiki / Insights任务看板 / 详细手册 / 活动概览

白话说:Projects 组织任务和进度;Wiki 存放较长的说明;Insights 展示活动和贡献等统计。

想成:待做、在做、做好三列;一本详细手册;看看最近整理了多少。

分清:Projects 和仓库不是同一概念;有些页面受设置或权限影响。

Blame / Raw逐行看修改来源 / 原始文本

白话说:Blame 显示每行最近相关的提交与作者;Raw 展示文件原始内容,去掉通常的网页排版。

想成:查看“盐一勺”是谁改的;拿出不带装饰的原页。

分清:Blame 虽直译像“责备”,实际是查修改出处的工具。

检查、发布与其他工具

Actions / Workflow / Run自动帮手 / 工作安排 / 一次执行

白话说:Actions 可以按事件执行自动任务;Workflow 定义步骤;Run 是某次实际运行。

想成:每次交菜谱,自动检查有没有漏写材料。

分清:只有配置了任务才会执行;有的任务也会发布,需看具体设置。

Check / CI / Build检查结果 / 持续检查 / 构建

白话说:Check 是检查状态;CI 指频繁整合时的自动验证;Build 把源码处理成可使用或可测试的产物。

想成:查步骤是否齐全,再把散页整理成册。

分清:绿勾只说明已配置的检查通过,不能保证所有情况都正确。

Tag / Version给某一版挂牌 / 版本号

白话说:Tag 在 Git 历史中的特定点加名字;Version 是人们给版本的编号,常见 v1.0、v1.1。

想成:给某次整理好的菜谱贴“春节版”的标签。

分清:Tag 不自动生成安装包;数字的具体含义要看项目约定。

Release / Release notes / Assets发布的一版 / 更新说明 / 下载附件

白话说:Release 通常基于 Tag 介绍一个发布版本;Notes 说明变化;Assets 可附安装包等文件,也列出源码压缩包。

想成:“春节版发布了”:写好变化,并放上可领取的成品。

分清:不是每个项目都有安装包;Source code 压缩包是源码,不一定能双击使用。

Latest / Pre-release最新正式发布标记 / 预发布

白话说:Latest 表示 GitHub 标为最新正式发布的一版;Pre-release 表示还处于提前试用阶段的发布。

想成:正式印好的菜谱,与还在试做的试阅版。

分清:Latest 不一定等于最新提交;“正式发布”也不是没有问题的保证。

Deploy / GitHub Pages部署 / 把静态网页放上网

白话说:Deploy 是把成品放到运行环境供人使用;Pages 是 GitHub 提供的静态网站托管服务。

想成:从写好菜谱,到把它摆到可供人阅读的展台。

分清:Push、Merge、Release 与 Deploy 是不同动作,项目可以把它们自动连接起来。

GitHub Desktop / CLI / Terminal按钮工具 / 命令工具 / 输入命令的窗口

白话说:Desktop 用图形按钮操作 Git 和 GitHub;CLI 常指 gh 这类命令工具;Terminal 是输入文字命令的窗口。

想成:一个是按按钮办事,一个是写指令办事,终端是写指令的窗口。

分清:不懂命令也能先用网页;Git 命令与 gh 命令的职责不同。

Codespaces / Copilot网上的开发电脑 / 智能助手

白话说:Codespaces 提供云端开发环境;Copilot 可辅助写代码和解释代码。

想成:在网上借张工作桌;请一个助手帮忙拟步骤。

分清:它们不是理解基础流程的前提;助手的建议也需要核对,计费与额度另看设置。

Token / SSH key / 2FA授权凭据 / 身份钥匙 / 第二道验证

白话说:Token 给工具提供受限定的访问权限;SSH key 用密钥验证连接身份;2FA 在密码之外增加验证。

想成:办事凭证、专用钥匙、门口的第二道核对。

分清:Token、私钥和恢复码要保密;SSH 公钥可以按需要登记。不要写进仓库。

Settings / Permissions设置 / 允许做什么

白话说:Settings 管理项目选项;Permissions 决定谁能查看、修改、管理等。

想成:柜子的使用规则,以及谁有哪把钥匙。

分清:能下载别人的公开文件,不代表有权直接上传修改到他的仓库。

Security / Dependabot安全页 / 依赖检查帮手

白话说:Security 集中展示相关安全功能;Dependabot 可提醒已知依赖漏洞,也可按配置提出更新 PR。

想成:检查菜谱用到的外部材料有没有已知问题。

分清:“依赖”是项目借用的软件部件;安全页无警报不代表绝对安全。

Gist / Packages小片段分享 / 软件部件包

白话说:Gist 适合分享少量文字或代码;Packages 用来存储和分发软件包等产物。

想成:一张小秘诀便条;可供别的菜谱使用的配料包。

分清:Secret gist 只是难以从公开列表发现,知道链接的人仍可能访问。

以后遇到再看:进阶词

HEAD / Checkout / Switch当前位置 / 切换查看或工作的版本

白话说:HEAD 通常指向当前分支的最新提交,也可能直接指向某次提交;Switch 常用于换分支,Checkout 还可处理文件和版本。

想成:书签夹在当前读到的一页;换到另一条草稿路线。

分清:切换前先查看并保存手头改动,避免把不同任务混到一起。

Revert记一版反向修改

白话说:新建一个提交,撤销某次提交造成的改动,同时保留原历史。

想成:登记“昨天那项改动取消”,旧登记仍可查。

分清:后面有其他改动时可能发生冲突;不是所有场景都能一键恢复。

Reset重新指定当前历史位置

白话说:让当前分支等回到指定位置;不同模式对暂存区和工作文件的影响不同。

想成:重新摆放书签,有的方式还会改手上的草稿。

分清:尤其 hard 模式可能丢弃本地改动;初学者先理解影响,不照抄执行。

Stash把没完成的修改暂放一旁

白话说:暂时保存未提交改动,腾出工作区,之后可以尝试恢复。

想成:把半写好的菜谱夹进临时袋,先去做另一件事。

分清:不是正式 Commit;恢复时也可能冲突,未跟踪文件是否纳入取决于用法。

Rebase / Squash / Cherry-pick重新接续 / 合成一项 / 挑一项带过去

白话说:Rebase 重放提交到新起点;Squash 把多次改动合成一次提交;Cherry-pick 把某个提交的改动应用到另一条路线。

想成:换草稿的起点;把零碎登记整理成一项;只挑一项好改法。

分清:这些可能改变历史标识或产生冲突;共享历史上的操作需与协作者协调。

一本菜谱,记住每一版。
各写草稿,商量后合到一起。

Repo 是资料盒;Commit 是记一版;Branch 是草稿路线;PR 是请审阅;Merge 是合进去。

慢慢讲:讲完了,问奶奶三个小问题

① 在电脑里 Commit 了,网上一定更新了吗?

② 想请原作者采用自己的改动,应该怎么做?

③ 只想使用软件,一定要学完整开发流程吗?

慢慢讲:给讲解者:比喻边界与核对来源

“菜谱”指项目文件,“资料盒”指仓库,“草稿”指分支。Git 的分支实际是历史路线,通常不复制整套文件;提交快照也不等同于真实照片。主线、发布版本和线上运行版本可能不同。

本页覆盖常见 GitHub 页面词和相关 Git 术语,不是所有专业术语的全集。内容核对日期:2026 年 10 月 2 日。具体按钮、权限和任务行为以项目设置为准。