跳到主要内容

Git 基础

Git 是一个分布式版本控制系统,核心思想是把工作目录划分为工作区、暂存区和版本库三个区域,所有修改都通过显式的暂存与提交动作进入历史。

三大区域

  • 工作区(Working Directory):本地文件系统上能看到的目录,文件处于已修改或未跟踪状态。
  • 暂存区(Staging Area / Index):一个虚拟区域,记录下一次提交要包含哪些改动。
  • 版本库(Repository):.git 目录,保存完整的提交历史和对象数据库。

文件状态在三者之间流转:未跟踪 → 已修改 → 已暂存 → 已提交

初始化与克隆

git init # 在当前目录初始化新仓库
git clone <url> # 克隆远程仓库到本地
git config user.name "name"
git config user.email "mail@example.com"

提交与查看

git status # 查看文件状态
git diff # 工作区与暂存区差异
git diff --staged # 暂存区与最近一次提交差异
git log --oneline --graph --all

最常见的提交流程:

git add <file> # 添加到暂存区
git add . # 添加全部改动
git commit -m "msg" # 提交到本地版本库

分支操作

Git 的分支本质是指向某次提交的轻量指针,创建与切换非常廉价。

git branch # 列出本地分支
git branch <name> # 创建分支
git switch <name> # 切换分支(2.23+)
git switch -c <name> # 创建并切换
git merge <name> # 合并指定分支到当前分支

远程协作

git remote -v # 查看远程地址
git push -u origin <branch> # 首次推送并设置上游
git pull --rebase # 拉取并变基
git fetch origin # 仅获取远程更新

push 把本地提交推送到远程,pull 相当于 fetch + merge,在多人协作时建议先 fetch 再决定合并或变基。