详细的 Git 操作分步指南
-
- [🧰 前提准备](#🧰 前提准备)
- [第 1 步:配置 Git 用户信息(首次使用需设置)](#第 1 步:配置 Git 用户信息(首次使用需设置))
- [第 2 步:初始化本地仓库(或克隆已有仓库)](#第 2 步:初始化本地仓库(或克隆已有仓库))
-
- [情况 A:**从零开始创建新项目**](#情况 A:从零开始创建新项目)
- [情况 B:**已有远程仓库,直接克隆**](#情况 B:已有远程仓库,直接克隆)
- [第 3 步:关联远程仓库(仅当使用 `git init` 时需要)](#第 3 步:关联远程仓库(仅当使用
git init时需要)) - [第 4 步:拉取最新代码(确保本地同步)](#第 4 步:拉取最新代码(确保本地同步))
- [第 5 步:切换或创建分支](#第 5 步:切换或创建分支)
-
- [查看所有分支(本地 + 远程)](#查看所有分支(本地 + 远程))
- [切换到已有分支(如 `dev`)](#切换到已有分支(如
dev)) - [创建并切换到新分支(如 `feature/login`)](#创建并切换到新分支(如
feature/login))
- [第 6 步:查看当前工作区状态](#第 6 步:查看当前工作区状态)
- [第 7 步:添加、提交、推送代码(完整提交流程)](#第 7 步:添加、提交、推送代码(完整提交流程))
- 第8步:查看完整提交历史
-
- 8.1、简洁版提交历史(一行一条)
- 8.2、查看某文件的提交历史
- [8.3、 查看最近 N 次提交](#8.3、 查看最近 N 次提交)
- 8.4、查看所有分支的提交历史
- [8.5、 搜索包含特定关键词的提交](#8.5、 搜索包含特定关键词的提交)
- 8.6、查看某时间段内的提交
- [💡 小技巧:组合使用](#💡 小技巧:组合使用)
- [🔄 补充:查看某次提交的具体内容](#🔄 补充:查看某次提交的具体内容)
- [第 9 步:日常协作建议流程](#第 9 步:日常协作建议流程)
- [🔍 附:常用辅助命令速查](#🔍 附:常用辅助命令速查)
- [✅ 总结流程图(文字版)](#✅ 总结流程图(文字版))
覆盖从零开始初始化仓库、关联远程仓库、拉取代码、切换分支、查看状态等日常开发中最常用的操作流程。
🧰 前提准备
- 已安装 Git(可通过
git --version验证) - 有 GitHub / GitLab / Gitee 等远程仓库地址(如
https://github.com/yourname/project.git)
第 1 步:配置 Git 用户信息(首次使用需设置)
bash
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
✅ 只需设置一次,后续所有仓库都会使用该身份。
第 2 步:初始化本地仓库(或克隆已有仓库)
情况 A:从零开始创建新项目
bash
# 1. 创建项目目录
mkdir my-project
cd my-project
# 2. 初始化 Git 仓库
git init
# 3. 创建初始文件(可选)
echo "# My Project" > README.md
情况 B:已有远程仓库,直接克隆
bash
git clone https://github.com/yourname/my-project.git
cd my-project
⚠️ 推荐优先使用
git clone,它会自动关联远程仓库并拉取代码。
第 3 步:关联远程仓库(仅当使用 git init 时需要)
如果你是用 git init 新建的本地仓库,需手动关联远程地址:
bash
git remote add origin https://github.com/yourname/my-project.git
验证是否关联成功:
bash
git remote -v
输出应类似:
plain
origin https://github.com/yourname/my-project.git (fetch)
origin https://github.com/yourname/my-project.git (push)
第 4 步:拉取最新代码(确保本地同步)
即使刚克隆,也建议养成习惯:
bash
# 查看当前所在分支(通常是 main 或 master)
git branch
# 拉取远程最新代码(假设当前在 main 分支)
git pull origin main
💡 如果提示 "fatal: refusing to merge unrelated histories",说明本地和远程历史不一致。首次推送新本地仓库到已有远程仓库时,可用:
bash
git pull origin main --allow-unrelated-histories
第 5 步:切换或创建分支
查看所有分支(本地 + 远程)
bash
git branch -a
切换到已有分支(如 dev)
bash
git checkout dev
# 或(Git 2.23+ 推荐)
git switch dev
创建并切换到新分支(如 feature/login)
bash
git checkout -b feature/login
# 或
git switch -c feature/login
✅ 新分支基于当前分支创建。
第 6 步:查看当前工作区状态
这是日常最常用的命令之一:
bash
git status
你会看到类似信息:
- Changes not staged for commit :已修改但未
add的文件 - Untracked files:新增的、未被 Git 跟踪的文件
- Changes to be committed :已
add,准备提交的文件
简洁模式(只显示文件名和状态):
bash
git status -s
示例输出:
plain
M src/app.js # 修改但未暂存
?? public/logo.png # 新增未跟踪
A .gitignore # 已暂存
第 7 步:添加、提交、推送代码(完整提交流程)
bash
# 1. 添加修改(可指定文件或全部)
git add .
# 2. 再次检查状态(确认暂存内容)
git status
# 3. 提交到本地仓库
git commit -m "feat: add login page"
# 4. 推送到远程仓库(首次推送需指定上游)
git push -u origin feature/login
# 后续只需 git push
第8步:查看完整提交历史
bash
git log
- 显示:提交哈希(commit hash)、作者、日期、提交信息
- 按时间倒序排列(最新在最前)
- 按
q退出
8.1、简洁版提交历史(一行一条)
bash
git log --oneline
输出示例:
bash
a1b2c3d feat: add user login
e4f5g6h fix: resolve timeout issue
7890abc docs: update README
✅ 最常用!适合快速浏览。
8.2、查看某文件的提交历史
bash
git log --oneline -- path/to/file.txt
只显示修改过该文件的提交。
8.3、 查看最近 N 次提交
bash
git log -5 # 显示最近 5 次提交(完整版)
git log --oneline -5 # 显示最近 5 次(简洁版)
8.4、查看所有分支的提交历史
bash
git log --oneline --all
加上图形化分支线更直观:
bash
git log --oneline --graph --all
输出示例:
plain
* a1b2c3d (HEAD -> feature/login) feat: add login form
* e4f5g6h (main) fix: api bug
| * 7890abc (dev) chore: update deps
|/
* 1234567 init project
8.5、 搜索包含特定关键词的提交
bash
git log --grep="fix"
查找提交信息中包含 "fix" 的提交。
或者按作者查找:
bash
git log --author="Your Name"
8.6、查看某时间段内的提交
bash
git log --since="2025-11-01" --until="2025-11-17"
git log --since="1 week ago"
💡 小技巧:组合使用
例如,查看 最近 10 次提交、带分支图、仅显示 main 和当前分支:
bash
git log --oneline --graph --decorate -10
--decorate:显示分支/标签名(如(main),(HEAD))
🔄 补充:查看某次提交的具体内容
先用git log --oneline找到 commit hash(如 a1b2c3d),然后:
bash
git show a1b2c3d
会显示该次提交的:
- 提交信息
- 修改了哪些文件
- 具体代码差异(diff)
✅ 日常推荐组合:
bash
git log --oneline -10 # 快速看最近 10 条
git log --oneline --graph # 看分支合并情况
git show <commit-hash> # 查看某次提交详情
第 9 步:日常协作建议流程
每次开始工作前,建议执行:
bash
# 1. 切换到目标分支(如 main)
git switch main
# 2. 拉取最新代码
git pull origin main
# 3. 创建新功能分支
git switch -c feature/new-ui
# 4. 开发、add、commit...
# 5. 推送分支供他人 review 或合并
git push -u origin feature/new-ui
🔍 附:常用辅助命令速查
| 命令 | 用途 |
|---|---|
git log --oneline |
查看简洁提交历史 |
git diff |
查看未暂存的代码差异 |
git diff --cached |
查看已暂存的差异 |
git restore <file> |
丢弃工作区某文件的修改(Git 2.23+) |
git reset HEAD <file> |
从暂存区移除文件(旧版等效 restore --staged) |
✅ 总结流程图(文字版)
plain
配置用户 → 初始化/克隆 → 关联远程(如需要)→ 拉取代码 → 切换分支 →
查看状态 → 修改文件 → git add → git commit → git push
如果你正在使用 VS Code、JetBrains IDE 或其他编辑器,它们通常内置了 Git 图形界面,但掌握命令行能让你更高效、灵活地处理复杂场景。