1一个记版本,一个让大家见面
Git 管“改过哪些版”;GitHub 管“把项目放到网上,一起做”。
在电脑里记住每次修改。
放项目,提问题,审阅改动。
自己的电脑 ⇄ 网上共同工作室
慢慢讲:为什么需要它?
从前,您写一张菜谱。亲戚改了几处,另一位亲戚又改了几处。最后桌上出现“新版”“最新版”“真正最新版”,很难知道该用哪张。
Git 帮忙把每次整理好的修改记下来。您能查谁改了什么,也能对照旧版。GitHub 把这样的项目放在网上,方便家人各自工作,再一起讨论改动。
真实项目里的“菜谱”常常是软件代码,也可以是文章、网页和说明书。“记一版”像拍一张快照;实际是记录文件状态,不是拍照片,也不是每次都复制整个文件夹。
2打开一个项目,先找“说明页”
仓库是一盒完整资料;README 告诉您这盒资料怎么用。
主人 / 仓库名 · 示例页面
README · 这本菜谱怎么用
做什么 → 怎么开始 → 不懂去哪里问
慢慢讲:这些英文按钮应该怎样看?
先看仓库主人和名字。比如 nainai/recipes,斜杠前是账号或组织,后面是项目名。这里是讲解用的例子,不是真实下载地址。
Code 是文件区;Issues 像问题登记簿;Pull requests 放别人提出的修改;Actions 展示自动任务;Settings 管设置和权限。不是每个项目都显示全部栏目。
文件列表下方常会出现 README。先读“项目做什么、如何安装和使用”。想直接使用软件时,按 README 找到官网、在线入口或 Releases 下载页,不一定需要碰代码。
资料公开让您看,不代表您可以直接改作者的原仓库。想复用或分发,也要看 License 的规定。
依据:GitHub 官方:README。
3保存、记版本、送上网,是三件事
电脑上的修改,得经过相应步骤,网上那份才会更新。
数字只是演示。历史里能查每次已记录的变化。
慢慢讲:用一次少盐修改,把四个动作讲清楚
- 修改并保存:在电脑里,把“盐三勺”改成“盐一勺”。这时文件变了,但 Git 历史还没增加这一版。
- Stage / Add,挑好:告诉 Git:“这次就记录这页的改动。”像把要归档的页放进篮子。工具可以帮您完成这个步骤。
- Commit,记下:记成一个版本,写一句说明:“红烧肉减少两勺盐。”在电脑上提交,这一版仍在电脑里。
- Push,送出:把已提交的版本送到您有权限的网上分支。家人才能在那个地方看到。
别人更新了怎么办?第一次拿项目回电脑叫 Clone。以后取新记录叫 Fetch;取回来并整合到当前分支叫 Pull。整合有时需要人解决冲突。
Git 能回看已记录的内容,但不是“无论怎样误删都能恢复”。未提交的修改、仓库之外的文件,不能指望它替您保住。
4先在草稿试,再请大家看
分支用来单独改;PR 用来商量;Merge 才把修改合进去。
盐 3 勺原来的做法
盐 1 勺只在草稿里试
这是网页里的教学演示,不会操作真实 GitHub。
慢慢讲:草稿会不会弄乱原稿?亲戚意见不一样怎么办?
奶奶想少放盐,孙女想少放糖。两人可以各开一个 Branch,分支,先从现有版本各自修改。分支里的提交不会因为存在就自动进入主线。
改完后提 PR,修改提议:“请看看我改了什么。”大家查看 Diff,前后差异,提出意见。这一步叫 Review,审阅。继续在同一来源分支提交和推送,PR 通常会跟着更新。
等相关规则和检查满足,由有权限的人执行 Merge,合并。这时修改才进入目标分支。修改可能被采纳,也可能被要求调整或关闭。
如果两个人把同一句话改得不同,Git 不能判断留哪个,就出现 Conflict,冲突。大家要决定最终写法,完成处理后才能继续合并;很多互不冲突的修改可以自动合在一起。
没有权限改原仓库时:先 Fork 到自己的网上空间,再在自己的项目里改,最后提 PR 给原作者。这里 Fork 是另一个仓库,Branch 是同一个仓库里的路线。
5先选:您是想“用”,还是想“改”?
只想使用软件,不需要把整套开发流程都走一遍。
路线 A · 找来使用
- 找到正确项目核对主人、名字和项目用途。
- 读 README先看支持什么设备、怎样使用。
- 按说明找入口可能是官网、在线网页或 Releases。
- 选适合的下载安装包要对应您的系统;源码包不是安装包。
- 使用,再反馈先查已知问题;有新问题再提 Issue。
像借菜谱回去做饭。
无需先学会 Fork、Commit 或 PR。
路线 B · 一起修改
- 读说明与参与规则搞清楚要改什么,修改应交到哪里。
- 准备自己的工作位置有写权限,可在同仓库建分支;没有时,常先 Fork。
- 选择网页或电脑少量文字可用网页;本地开发则 Clone 回电脑。
- 建分支,修改并检查先在草稿路线工作,验证修改。
- Commit;本地还需 Push记录修改,再把本地提交送到网上分支。
- 提 PR,回应审阅讲清改了什么、为什么改,按反馈调整。
- 由有权限的人合并满足规则后合入目标;电脑再取回更新。
慢慢讲:第一次练习:只改一处错字,用网页也能完成
第一次可以练习改一句说明,不用安装开发工具。以下是教学步骤,本页不会替您注册、提交或发布。
- 准备:注册并登录 GitHub。如果还没有仓库,在网站找 New repository 或新建入口,给仓库取名,例如 family-recipes;练习可选 Private,并勾选添加 README,再创建。不要放私人凭据或敏感资料。
- 建草稿:在文件列表附近的分支选择器里,通常显示 main。建立一个新分支,例如 fix-typo,并确认已经切到它。
- 改字:打开 README.md,找到编辑入口,把一个错字改正。完成后找 Commit changes,写“修正说明里的错字”,并确认提交目标是草稿分支。
- 提议:在 Pull requests 中新建 PR,选 Base 为 main,Compare 为 fix-typo。查看差异,确保只改了预期内容,再写清说明、创建 PR。
- 审阅:检查 Files changed 等差异页。有家人帮忙,就请他们看看;若要补改,继续编辑草稿分支。
- 合并:由有权限的人按仓库规则合并。回 main 看那句话是否已更新。完成后可清理不再使用的草稿分支;保留的提交和 PR 仍可查。
按钮位置可能随页面和权限不同;抓住动作比记位置更有用。没有写权限时,网站可能引导您先 Fork。直接网页编辑不用 Clone、Stage 或从电脑 Push,网站会处理相应记录步骤。
依据:GitHub 官方:第一个 PR。
慢慢讲:电脑上的完整路线:一条一条看方向
Fork 不是每次都需要:有同仓库写权限的人常直接在仓库里建分支。Clone 也不是每次都做:同一电脑已经有仓库后,之后更新通常用 Fetch 或 Pull。
合并之后,网上目标分支更新了;本地工作者切到对应分支,再取回并整合更新。Fork 用户也要注意同步原项目,否则自己的副本会落后。
不想输命令,可以通过 GitHub Desktop 的按钮完成许多本地操作。命令行是另一种操作方式,不是理解这些概念的门槛。
慢慢讲:只想下载:ZIP、Release、安装包怎样分?
Code → Download ZIP:下载选定分支当时的文件,常是源码。通常没有完整 Git 历史,也不会自己跟着原项目更新。
Releases:作者整理的发布版本页面。里面的 Assets 可能有安装包,也可能只有其他文件。看到 Source code (zip) 或 Source code (tar.gz),下载的是该版本的源码。
能不能直接运行:看项目提供什么文件和 README 怎样说明。安装包通常针对特定操作系统和设备;有的项目只提供源码,需要另外构建;还有的提供在线使用入口。
拿到文件不等于已经安装好。就像拿到菜谱,不等于饭已经做熟。照项目说明选对路径。
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 日。具体按钮、权限和任务行为以项目设置为准。