详细的 Git 操作分步指南

详细的 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步:查看完整提交历史
    • [💡 小技巧:组合使用](#💡 小技巧:组合使用)
    • [🔄 补充:查看某次提交的具体内容](#🔄 补充:查看某次提交的具体内容)
    • [第 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 图形界面,但掌握命令行能让你更高效、灵活地处理复杂场景。

相关推荐
llilian_1621 小时前
相位差测量仪 高精度相位计相位差测量仪的应用 相位计
大数据·人工智能·功能测试·单片机
百家方案21 小时前
“十五五”智慧文旅解决方案:以科技为核心,开启沉浸体验与高效治理新篇章
大数据·人工智能·智慧文旅·智慧旅游
专注数据的痴汉21 小时前
「数据获取」吉林地理基础数据(道路、水系、四级行政边界、地级城市、DEM等)
大数据·人工智能·信息可视化
知识分享小能手21 小时前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04 中的大数据 —— 知识点详解 (24)
大数据·学习·ubuntu
城数派1 天前
2019-2025年各区县逐月新房房价数据(Excel/Shp格式)
大数据·数据分析·excel
专注数据的痴汉1 天前
「数据获取」中国会计年鉴(1996-2024)
大数据·人工智能·信息可视化
智慧化智能化数字化方案1 天前
【精品资料鉴赏】详解企业研发生产一体化总体规划建设方案
大数据·人工智能·企业研发生产一体化·企业如何开展数字化转型·企业数字化营销·数字化转型咨询规划·数字化转型架构
南_山无梅落1 天前
Git 结合 Gitee 使用教程:从入门到实战
git·gitee
这就是佬们吗1 天前
Windows 的 CMD 网络环境:解决终端无法联网与更新的终极指南
java·windows·git·python·spring·maven
奕成则成1 天前
Flink全面入门指南:从基础认知到BI数据仓库实践
大数据·数据仓库·flink