20_Git 仓库使用手册 - 初学者指南

📘 一、Git 基础概念

理解 Git 的核心理念和设计思想


1. Git 是什么?

Git 的基本定义和特点

(1) 简单理解

用通俗的方式理解 Git

a. 游戏存档类比
  • Git 就像游戏的**"存档系统"**,可以随时保存代码状态
  • 如果代码改坏了,可以回退到之前的任意存档点
  • 支持多人协作,每个人都有自己的完整备份

(2) 核心定义

Git 的正式定义

a. 版本控制系统
  • Git 是一个分布式版本控制系统
  • 用于跟踪计算机文件的变更
  • 协调多人之间的协作开发

2. 核心概念

Git 的关键设计理念

(1) 版本控制

记录文件变更历史的机制

a. 基本功能
I. 随时保存状态
  • 随时保存当前状态
II. 问题回退
  • 出了问题可以回退到之前的存档点
III. 历史记录
  • 记录每次修改的历史

(2) 分布式架构

与集中式版本控制的本质区别

a. 分布式优势
  • 每个人的电脑上都有完整的代码仓库(包含完整历史记录)
  • 不依赖中央服务器也能进行提交、查看历史等操作
  • 中央服务器宕机时,任何人都可以用本地的仓库恢复

3. Git的下载

(1) 点击下载

Git下载

(2) 验证下载

win + R输入

bash 复制代码
cmd

再输入

bash 复制代码
# 在命令提示符中的任意路径输入如下命令
git -v

(3) 配置Git用户信息

bash 复制代码
# 注意: --global 表示声明为全局设置,为可选项
$ git config --global user.name xxx
$ git config --global user.email xxxx.com

或者让DeepSeek帮你配 这是公司给我的邮箱信息

邮箱:xxxxxxxxxxxxxxxxxxx

用户名:xxxxxxxxxxxxxxxxxx

密码:xxxxxxxxxxxxxx

基于以上信息帮我完成Git的初始化

(4) 配置Git用户信息

bash 复制代码
# 注意: --global 表示声明为全局设置,为可选项
$ git config --global user.name xxx
$ git config --global user.email xxxx.com

或者让DeepSeek帮你配 这是公司给我的邮箱信息

邮箱:xxxxxxxxxxxxxxxxxxx

用户名:xxxxxxxxxxxxxxxxxx

密码:xxxxxxxxxxxxxx

基于以上信息帮我完成Git的初始化

(4) 右键打开就好了


📖 二、Git 工作流程

深入理解 Git 的工作机制和四个关键区域


1. 四个关键区域

Git 的核心存储区域

(1) 区域说明

工作目录、暂存区、本地仓库、远程仓库

复制代码
工作目录 → 暂存区 → 本地仓库 → 远程仓库
   ↓          ↓         ↓          ↓
 修改文件    git add   git commit  git push
区域 说明 常用命令
📂 工作目录 你正在编辑的文件 编辑代码
📋 暂存区 准备提交的文件清单 git add
💾 本地仓库 已提交的历史版本 git commit
☁️ 远程仓库 托管在服务器上的共享仓库 git push / git pull

(2) 工作流程示例

从修改到推送的完整流程

a. 典型工作流
I. 第一步:修改文件
  • 在工作目录修改文件
II. 第二步:暂存
  • 使用 git add 将修改加入暂存区
III. 第三步:提交
  • 使用 git commit 提交到本地仓库
IV. 第四步:推送
  • 使用 git push 推送到远程仓库

2. 常用场景示例

实际开发中的高频场景

(1) 保存当前进度

将当前修改保存为一个版本

bash 复制代码
git add .                    # 把所有修改加入暂存区
git commit -m "完成登录功能"  # 保存为一个版本

(2) 代码回退

代码改坏了,想回到之前的版本

bash 复制代码
git log --oneline            # 查看历史版本
git reset --hard <版本号>    # 回到指定版本

(3) 多人协作

与团队成员协同开发

bash 复制代码
git pull origin main         # 拉取同事的代码
# 解决冲突(如果有)
git push origin main         # 推送自己的代码

🚀 三、快速上手

从零开始使用 Git 的完整步骤


1. 获取工程链接

如何找到并复制仓库地址

(1) 常见平台链接格式

GitHub、GitLab、Gitee 等平台的链接格式

平台 示例链接格式
GitHub https://github.com/用户名/仓库名.git
GitLab https://gitlab.com/用户名/仓库名.git
Gitee(码云) https://gitee.com/用户名/仓库名.git
公司私有 Git http://git.公司域名.com/项目/仓库.git

(2) 链接类型说明

HTTPS 与 SSH 链接的区别

a. HTTPS 链接
复制代码
https://github.com/用户名/仓库名.git
  • ✅ 优点:无需配置,直接可用
  • ❌ 缺点:推送时需要输入账号密码(现在需要 token)
b. SSH 链接
复制代码
git@github.com:用户名/仓库名.git
  • ✅ 优点:配置一次后免密推送
  • ❌ 缺点:需要先配置 SSH Key

2. 克隆仓库

将远程仓库下载到本地

(1) 基本克隆

克隆整个仓库到本地

bash 复制代码
git clone <仓库地址>
# 示例:git clone https://github.com/facebook/react.git

(2) 克隆指定分支

只克隆特定分支的代码

bash 复制代码
git clone -b <分支名> <仓库地址>
# 示例:git clone -b develop https://github.com/username/repo.git

(3) 完整操作流程示例

从克隆到开发的完整流程

bash 复制代码
# 1. 克隆工程到本地
git clone https://github.com/facebook/react.git

# 2. 进入工程目录
cd react

# 3. 查看当前分支
git branch
# * main

# 4. 查看远程仓库信息
git remote -v
# origin  https://github.com/facebook/react.git (fetch)
# origin  https://github.com/facebook/react.git (push)

# 5. 拉取最新代码(已经在 main 分支)
git pull

# 6. 创建自己的开发分支
git checkout -b feature/my-feature

# 7. 修改代码后暂存
git add .

# 8. 提交
git commit -m "新增我的功能"

# 9. 推送到远程
git push origin feature/my-feature

🔄 四、更新代码与冲突解决

如何保持代码同步并处理合并冲突


1. 更新代码的方式

三种主要的更新方式

(1) git pull(拉取 + 合并)

最常用的更新方式

bash 复制代码
git pull origin main
# 等同于:
git fetch origin main
git merge origin/main

(2) git fetch + git merge(分步操作)

更安全的更新方式

bash 复制代码
# 先获取远程更新(不会自动合并)
git fetch origin

# 查看远程更新了什么
git log HEAD..origin/main --oneline

# 确认无误后手动合并
git merge origin/main

(3) git pull --rebase(变基方式)

保持线性历史记录的更新方式

bash 复制代码
git pull --rebase origin main
# 等同于:
git fetch origin
git rebase origin/main

2. 冲突解决实战

当更新发生冲突时的完整解决流程

(1) 冲突是如何产生的?

多人修改同一文件的同一区域时产生冲突

复制代码
时间线:
14:00  你开始修改 login.js 的第 10-15 行
14:05  同事修改了 login.js 的第 12-18 行并推送到远程
14:10  你准备推送,先 git pull
       ↓
     ❌ 冲突!Git 不知道应该保留谁的修改

(2) 冲突解决步骤

完整的四步解决流程

a. 步骤 1:查看冲突文件
bash 复制代码
# 查看哪些文件有冲突
git status

# 输出示例:
# On branch main
# You have unmerged paths.
#   (fix conflicts and run "git commit")
#
# Unmerged paths:
#   (use "git add <file>..." to mark resolution)
#       both modified:   src/App.js
b. 步骤 2:打开冲突文件查看

冲突文件中会出现特殊标记:

javascript 复制代码
// src/App.js
function handleLogin() {
<<<<<<< HEAD
  // 你的修改
  console.log('用户登录');
  return validateUser();
=======
  // 同事的修改
  console.log('Login triggered');
  return checkCredentials();
>>>>>>> origin/main
}
标记 含义
<<<<<<< HEAD 你的当前修改开始
======= 分隔线
>>>>>>> origin/main 远程修改结束
c. 步骤 3:手动编辑解决冲突
javascript 复制代码
// 保留需要的代码,删除冲突标记
function handleLogin() {
  // 合并后的代码
  console.log('用户登录');
  return validateUser() && checkCredentials();
}
d. 步骤 4:标记冲突已解决并提交
bash 复制代码
# 解决完冲突后,添加文件
git add src/App.js

# 查看状态,确认无冲突
git status

# 提交合并结果
git commit -m "解决合并冲突"

# 推送解决后的代码
git push origin main

💾 五、暂存与提交

Git 日常操作的核心命令


1. 状态查看与暂存

查看当前状态并将修改加入暂存区

(1) 查看当前状态

bash 复制代码
git status

(2) 暂存文件

bash 复制代码
# 暂存单个文件
git add <文件名>

# 暂存所有变更
git add .

# 暂存所有变更(包括删除)
git add -A

(3) 取消暂存

bash 复制代码
git reset <文件名>

2. 提交与推送

将暂存的内容保存到仓库

(1) 基本提交

bash 复制代码
git commit -m "提交说明"

(2) 提交并跳过暂存区

bash 复制代码
git commit -a -m "提交说明"

(3) 推送到远程仓库

bash 复制代码
# 基本推送
git push origin <分支名>

# 首次推送设置上游分支
git push -u origin <分支名>

(4) 查看提交历史

bash 复制代码
git log --oneline --graph --all

🖥️ 六、Git GUI 工具

图形化界面让 Git 操作更直观


1. 内置 Git GUI

Git 自带的图形界面工具

bash 复制代码
git gui
  • 图形化界面,支持暂存、提交、推送等基本操作

2. 常用第三方 GUI 工具

流行的 Git 图形客户端

(1) 工具对比

工具 平台 特点
Sourcetree Windows/Mac 免费,功能全面
GitKraken Win/Mac/Linux 界面美观,支持跨平台
GitHub Desktop Win/Mac 简洁易用,适合 GitHub 用户
VS Code 全平台 内置 Git 集成,支持可视化操作

3. VS Code Git 操作完全指南

在 VS Code 中完成所有 Git 操作

(1) 打开源代码管理面板

进入 Git 操作界面

方式 操作
快捷键 Ctrl + Shift + G (Windows/Linux) 或 Cmd + Shift + G (Mac)
侧边栏 点击左侧活动栏的「源代码管理」图标
命令面板 Ctrl + Shift + P → 输入 "Git"

(2) 日常操作可视化

暂存、提交、推送的图形化操作

a. 暂存文件
  • 单个文件 :鼠标悬停文件 → 点击 +
  • 批量暂存 :悬停「变更」区域 → 点击 +
  • 取消暂存 :悬停暂存的文件 → 点击 -
b. 提交
  1. 在消息框输入提交信息
  2. 点击「提交」按钮
    • 下拉箭头可选择「提交并推送」
    • 或「提交并暂存所有变更」
c. 推送
  • 点击「同步更改」按钮 → 执行 pull + push
  • 或点击「...」→ "推送"

(3) 冲突解决可视化

VS Code 提供的三栏对比编辑器

按钮 作用
接受当前 保留你的修改
接受传入 保留远程修改
接受两者 两者都保留
比较 并排对比差异

4. Git GUI操作完全指南

在 Git GUI 中完成所有 Git 操作

(1) 右键打开Git 终端

(2) 暂存修改

输入命令

c 复制代码
git add .

(3) 右键打开Git GUI管理面板

(4)Git GUI 界面的大概介绍

(5) 点击 提交

这里的提交只是提交到本地,留着接下来生成**.patch**用

(6) 生成.patch

生成.patch命令

c 复制代码
git format-patch -1 HEAD

📄 七、生成补丁文件

创建和应用代码补丁

1. 什么是 .patch 文件?

代码修改的差异信息文件

  • .patch 文件包含了代码变更的差异信息
  • 可以理解为代码修改的"补丁"
  • 用于在不同仓库之间传递代码变更

2. 生成补丁文件

不同场景下的补丁生成方法*

(1) 生成未提交的修改补丁

bash 复制代码
git diff > changes.patch

(2) 生成已暂存但未提交的补丁

bash 复制代码
git diff --cached > staged.patch

(3) 生成指定提交的补丁

bash 复制代码
# 单个提交
git format-patch -1 <commit-hash>
# 示例:git format-patch -1 a1b2c3d

# 多个提交
git format-patch <commit1>..<commit2>

# 最近 N 个提交
git format-patch -N

(4) 生成两个分支之间的补丁

bash 复制代码
git format-patch <base-branch>..<feature-branch>

3. 应用补丁

检查并应用补丁文件

(1) 检查补丁

bash 复制代码
git apply --check patchfile.patch

(2) 应用补丁

bash 复制代码
# 普通应用
git apply patchfile.patch

# 保留提交信息的应用
git am patchfile.patch

📋 八、命令速查表

常用 Git 命令快速参考


1. 基础命令

操作 命令
克隆仓库 git clone <url>
查看状态 git status
暂存文件 git add <file>
提交 git commit -m "msg"
拉取更新 git pull
推送 git push

2. 分支管理

操作 命令
查看分支 git branch -a
切换分支 git checkout <branch>
创建分支 git checkout -b <branch>
合并分支 git merge <branch>

3. 历史查看

操作 命令
查看日志 git log --oneline
查看详细日志 git log --graph --all
查看文件差异 git diff

4. 补丁操作

操作 命令
生成补丁 git diff > patch.patch
检查补丁 git apply --check patch.patch
应用补丁 git apply patch.patch

⚠️ 九、注意事项与最佳实践

使用 Git 时的建议和规范


1. 提交规范

良好的提交习惯

  • 提交前务必 git status 确认变更内容
  • 提交信息应简洁明了,说明本次修改的目的
  • 遵循团队的提交信息格式规范

2. 更新策略

避免冲突的最佳实践

(1) 频繁拉取

bash 复制代码
# 每天开始工作前先拉取
git pull

# 提交前再拉取一次
git pull

(2) 更新前先提交或暂存

bash 复制代码
# 更新前先提交本地修改
git add .
git commit -m "WIP: 保存当前进度"

# 或者暂存起来
git stash
git pull
git stash pop  # 恢复暂存,可能有冲突

(3) 使用功能分支

bash 复制代码
# 不要直接在 main 分支开发
git checkout -b feature/new-login

# 开发完成后,先 rebase main
git fetch origin
git rebase origin/main

# 解决冲突后推送到远程
git push origin feature/new-login

3. 紧急情况处理

当出现问题时的应急措施

(1) 放弃合并

bash 复制代码
# 放弃本次合并,回到更新前
git merge --abort

# 或使用 reset
git reset --hard HEAD

(2) 生成补丁前的测试

bash 复制代码
# 生成补丁后建议先测试后再应用
git apply --check patchfile.patch

🎓 十、总结

Git 学习的核心要点


1. Git 的核心价值

Git = 代码的"时光机" + "多人协作工具"

  • 帮你记住每一次修改
  • 让你随时回到过去
  • 让团队可以并行开发
  • 全世界开发者都在用它

2. 初学者建议

如果你刚开始接触 Git

建议从以下五个命令开始学习:

① 克隆仓库
c 复制代码
git clone
② git add暂存文件
c 复制代码
git add
③ 提交变更
c 复制代码
 git commit
④ 推送代码
c 复制代码
git push
⑤ 拉取更新
c 复制代码
git pull

这五个命令就能满足大部分日常需求。


3. 进一步学习

深入学习 Git 的方向

  • 理解 Git 的内部工作原理
  • 掌握高级分支管理技巧
  • 学习交互式变基(interactive rebase)
  • 了解 Git hooks 的自动化能力
  • 探索 Git bisect 等调试工具

参考资料Git 官方文档

相关推荐
人间打气筒(Ada)2 小时前
go实战案例:如何通过 Service Meh 实现熔断和限流
java·开发语言·golang·web·istio·service mesh·熔断限流
C++ 老炮儿的技术栈2 小时前
分享一个安全的CString
c语言·c++·windows·git·安全·visual studio
freshman_y2 小时前
STM32工程模板如何配置
stm32·单片机·嵌入式硬件
cqbelt2 小时前
Python 并发编程实战学习笔记
笔记·python·学习
桦03 小时前
[C++复习]:STL
开发语言·c++
智算菩萨3 小时前
【论文复现】Applied Intelligence 2025:Auto-PU正例无标签学习的自动化实现与GPT-5.4辅助编程实战
论文阅读·python·gpt·学习·自动化·复现
老神在在0013 小时前
【Selenium 自动化精讲】浏览器弹窗与登录界面的本质区别 & 实操指南
javascript·学习·selenium·测试工具·自动化
前端小咸鱼一条3 小时前
16.迭代器 和 生成器
开发语言·前端·javascript
小陈工3 小时前
2026年3月31日技术资讯洞察:AI智能体安全、异步编程突破与Python运行时演进
开发语言·jvm·数据库·人工智能·python·安全·oracle