学习路径图:我们将分四个阶段,每个阶段大约 15 分钟。
flowchart TD
A[第一阶段<br>基础与本地仓库] --> B[第二阶段<br>提交历史与撤销]
B --> C[第三阶段<br>分支管理]
C --> D[第四阶段<br>远程协作]
第一阶段:Git 基础与本地仓库
1. 快速配置
安装 Git 后(可前往git-scm.com/downloads下载…
git config --global user.name "你的姓名"
git config --global user.email "你的邮箱@example.com"
2. 创建或获取仓库
- 初始化新仓库:如果项目还没用 Git 管理,在项目根目录执行:
这会在当前目录创建一个隐藏的git init.git文件夹,Git 就开始跟踪这个项目了。 - 克隆现有仓库:如果要获取已有的远程仓库(如 GitHub 上的项目),使用:
这会将远程仓库的代码和历史完整下载到本地。git clone <仓库URL>
3. 基本工作流程
Git 本地操作有三个核心区域:工作区(你直接编辑文件的地方)、暂存区(准备提交的文件清单)和仓库(存储所有提交记录的地方)。
对应的核心命令是:
# 1. 将文件的修改添加到暂存区(可指定具体文件,或使用 `git add .` 添加所有变更)
git add 文件名
# 2. 将暂存区的内容正式提交到仓库,并附上说明
git commit -m "清晰的提交说明"
# 3. 查看当前仓库状态(哪些文件被修改、哪些已暂存)
git status
# 4. 查看文件具体修改了哪些内容
git diff
记住这个流程:修改文件 → git add → git commit。
第二阶段:查看提交历史与撤销操作(15 分钟)
1. 查看历史
# 查看详细的提交历史,包括提交哈希、作者、日期和说明
git log
# 以简洁的单行形式显示提交历史
git log --oneline
# 显示包含分支、合并历史等信息的图形化提交历史
git log --graph
2. 撤销操作
- 撤销工作区的修改(文件还未
git add):git checkout -- 文件名 - 撤销暂存区的修改(文件已
git add,但未git commit):git reset HEAD 文件名 - 撤销提交(已
git commit,想重写上一次提交信息或加入新修改):git commit --amend -m "新的提交信息" - 回退到某个旧版本(谨慎使用):
git reset --hard 某个旧的提交哈希值
第三阶段:分支管理
分支让你能在独立的线上开发新功能或修复 Bug,而不影响主线(如mainormasterordev分支)。
1. 基础分支操作
# 查看所有本地分支(当前分支前有*号)
git branch
# 创建新分支
git branch 新分支名
# 切换到指定分支
git checkout 分支名
# 创建并立即切换到新分支(常用)
git checkout -b 新分支名
# 删除已合并的分支
git branch -d 分支名
2. 合并分支
开发完成后,需要将分支的改动合并回主分支:
# 1. 先切换回主分支
git checkout main
# 2. 将特性分支合并到当前所在的主分支
git merge 特性分支名
有时合并会产生冲突(当两个分支修改了同一文件的同一区域),需要手动解决冲突后再次提交。
第四阶段:远程协作
1. 远程仓库基础
# 查看已关联的远程仓库
git remote -v
# 关联一个远程仓库(通常克隆后会自动关联,名为origin)
git remote add origin 远程仓库URL
2. 推送与拉取
# 将本地提交推送到远程仓库(以origin的main分支为例)
git push -u origin main
# 从远程仓库拉取最新更新到本地(获取并合并)
git pull origin main
git push将你的本地提交上传到远程仓库,git pull则将远程仓库的更新下载到本地。
💡 核心命令速查表
| 任务 | 命令 |
|---|---|
| 初始设置 | git config --global user.name "姓名" git config --global user.email "邮箱" |
| 创建/克隆 | git init git clone <URL> |
| 日常操作 | git add . git commit -m "说明" git status git diff |
| 分支管理 | git branch git checkout -b 新分支 git merge 分支名 |
| 远程协作 | git push origin 主分支 git pull origin 主分支 |
| 查看历史 | git log git log --oneline |