Skip to content
This page has been auto-translated and may contain errors.View in English

词汇表

本手册中使用的 Git 和 GitHub 术语的简短定义。每个术语都链接回完整讲解该术语的章节。

branch

分支是指向一个 commit 的可移动标签,让你可以在项目其他部分之外的单独历史线上工作。创建分支不会复制任何文件;它添加的是一个指针,你可以通过在其上进行 commit 来独立移动它。详见 分支

clone

git clone <url> 将远程仓库复制到你自己的机器上,包括其完整历史记录,随时可以开始工作。详见 你的第一个仓库

commit

commit 是项目的一个已保存快照:包含那一时刻所有被追踪文件的状态、描述所做更改的消息,以及指向它之前 commit 的链接。详见 commit 循环

detached HEAD

HEAD 直接指向一个 commit 而不是指向一个分支时,就会出现分离的 HEAD(Detached HEAD),通常是因为你签出了一个特定的 commit 而非分支名。在这里进行的 commit 位于任何分支之外,所以一旦切换走,就很难再找到它们。详见 分支

fetch

git fetch 从远程下载新的 commit,但不会将它们合并到你当前的分支中。它只更新你的远程追踪分支,如 origin/main。详见 远程和 GitHub

fork

fork 是你在 GitHub 上拥有的他人仓库的副本,在你想要为一个自己没有推送权限的项目做贡献时使用。详见 pull request 工作流

.gitignore

.gitignore 是一个文件,列出了 Git 应该永远不跟踪的模式,如依赖文件夹和包含机密信息的文件。它只影响 Git 尚未追踪的文件。详见 忽略文件和良好实践

HEAD 是 Git 指向你当前签出的 commit 的指针。大多数情况下它指向你当前的分支,而分支又指向一个 commit。详见 分支

main

main 是仓库默认分支的常规名称。较旧的仓库和教程有时使用 master 来表示同样的作用。详见 你的第一个仓库

merge

git merge <branch> 将另一个分支的 commit 纳入你当前的分支,将两个历史合并为一个。详见 合并和冲突

merge conflict

当两个分支修改了文件的同一行,而 Git 无法自动将它们合并时,就会出现合并冲突。Git 用 <<<<<<<=======>>>>>>> 标记冲突的位置,等待你选择正确的结果。详见 合并和冲突

origin

origin 是 Git 赋予克隆仓库来源的远程的常规名称。它只是一个名称;你可以自由重命名它或添加其他远程。详见 远程和 GitHub

pull

git pull 从远程获取新的 commit 并在一步中将它们合并到你当前的分支。详见 远程和 GitHub

pull request

pull request(PR)是 GitHub 上的一个请求,用于将一个分支合并到另一个分支,在合并发生之前开启讨论和审查。详见 pull request 工作流

push

git push 将你本地的 commit 发送到远程,这样 GitHub 或合作者就能看到它们。详见 远程和 GitHub

rebase

Rebase 是在不同的起点上重放你分支的 commit,产生一条直线历史而不是合并 commit。它会重写 commit 历史,所以应该将其用于没有其他人已经基于其上工作的分支。详见 合并和冲突

reflog

reflog 是一个本地记录,记录 HEAD 最近指向过的所有位置,包括分支不再能到达的 commit。它是你在 reset 或删除分支后恢复 commit 的方法,直到 Git 最终清理它。详见 撤销操作

refspec

refspec 是存储在远程配置中的一个映射,它告诉 git fetch 要从远程下载哪些分支以及在哪些远程追踪分支下记录它们。详见 远程和 GitHub

remote

远程是托管在其他地方的仓库副本,通常通过 URL 访问。GitHub 是托管远程的一个流行选择,GitLabBitbucket 是其他选项。详见 远程和 GitHub

remote-tracking branch

远程追踪分支,如 origin/main,是你仓库对远程上分支位置的本地记录,记录的是你上次 fetch 或 pull 时的位置。它不会自动更新;只有 fetch 或 pull 才能移动它。详见 远程和 GitHub

repository

仓库(或 repo)是 Git 正在追踪的项目文件夹,连同在其中进行的每个 commit 的完整历史。详见 你的第一个仓库

reset

git reset 将你当前的分支移动到指向一个不同的 commit。--soft 保留暂存区和工作目录不变,--mixed 也清除暂存区,--hard 也会覆盖工作目录,丢弃未 commit 的更改,所以在任何已经共享的分支上都要谨慎使用。详见 撤销操作

revert

git revert <commit> 创建一个新的 commit,撤销来自较早 commit 的更改,保留原始 commit 不动。这是撤销已在共享分支上的内容的安全方式。详见 撤销操作

staging area(index)

暂存区(也称为 index)是你准备下一个 commit 将包含的内容的地方。git add 将更改从工作目录移到暂存区,git commit 保存暂存的内容。详见 commit 循环

stash

git stash 将你未 commit 的更改存放起来,以便你可以用干净的工作目录切换任务,然后稍后用 git stash pop 将它们取回。详见 撤销操作

tag

标签是固定到一个 commit 的固定标签,最常用于标记版本。不像分支,当新的 commit 被进行时,标签不会移动。详见 分支

terminal

终端是你键入文本命令(包括所有 git 命令)并读取它们打印回的内容的应用程序。也称为命令行。详见 你的第一个仓库

upstream

分支的 upstream 是它跟踪的远程分支,通常通过 git push -u 设置。一旦设置,简单的 git pushgit pull 就可以在该分支上工作,而无需每次都指定远程和分支。详见 远程和 GitHub

working directory

工作目录是磁盘上文件的实际文件夹,是在编辑器中打开的那个。它保存你的文件当前处于的任何状态,无论其中是否有任何已暂存或已 commit。详见 commit 循环