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 再决定合并或变基。