跳转到内容

DOMAIN · GIT

Git 与协作

改动如何记录、同步、合并与恢复。从用户常说的话进入,逐步看懂背后的技术关系与验收边界。

01
Git 与 GitHub

Git 在本地记录版本,GitHub 托管仓库并提供协作流程。

“先在本地提交,再推送到 GitHub 给团队评审”
02
仓库

保存项目文件、版本历史和 Git 配置的工作目录。

“先确认现在操作的是哪个项目仓库”
03
工作区与暂存区

工作区是正在编辑的文件,暂存区是准备进入下一次提交的改动。

“只把这次修复相关的文件放进提交”
04
Commit

把一组有明确目的的暂存改动保存成带说明的版本节点。

“完成这个修复后做一个可以独立回退的提交”
05
Branch

指向一条提交历史的可移动分支,用来隔离不同工作。

“开一个分支做功能,完成后再合回主线”
06
Merge 与 Rebase

Merge 保留分叉并产生合并结果,Rebase 把提交重新放到新基线后。

“保留协作历史就合并,整理本地提交再变基”
07
Fetch、Pull 与 Push

Fetch 只获取远程信息,Pull 获取并整合,Push 把本地提交发送到远程。

“先看看远程变了什么,确认后再同步和推送”
08
冲突与回退

冲突需要人工决定两边改动如何共存,回退让项目恢复到已知状态。

“这两处都改了,先看差异再决定保留什么”
09
Clone 克隆仓库

把远程仓库的历史、分支和工作文件复制到本地。

“把项目克隆到本机,然后安装依赖并运行。”
10
Remote 与 Origin

Remote 是远程仓库别名,origin 通常是克隆时自动创建的默认别名。

“检查 origin 指向哪个 GitHub 仓库,再决定推送。”
11
.gitignore 忽略规则

声明哪些未跟踪文件不应进入 Git 版本历史。

“忽略 node_modules、构建产物和本地密钥文件。”
12
Diff 差异

逐行显示两个版本、提交或工作状态之间的变化。

“提交前先看 diff,确认只改了这次任务相关内容。”
13
Stash 暂存工作

把尚未提交的本地改动临时收起,稍后再恢复。

“先收起当前实验,切分支修紧急问题,之后再恢复。”
14
Tag 与 Release

Tag 固定指向一个历史版本,Release 在此基础上附加说明和制品。

“为 v0.3.2 打标签,并上传对应平台安装包。”
15
Pull Request 合并请求

把一个分支的改动提交给团队讨论、检查并合并。

“说明改了什么、怎么测的,并请求评审后合并。”
16
Code Review 代码审查

由他人或自动工具检查改动的正确性、风险和可维护性。

“先找会导致错误的地方,再看样式和命名。”