跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言大前端

Git 在 Windows 环境下的安装与使用教程

在 Windows 系统上安装和配置 Git 的完整流程,涵盖下载安装、基础命令(init, add, commit)、远程仓库操作(clone, push, pull)以及进阶功能(分支管理、版本回退、合并冲突解决)。通过图文步骤和命令速查表,帮助开发者快速掌握 Git 版本控制技能,适用于代码开发初学者及需要规范协作的团队。

墨染流年发布于 2026/3/27更新于 2026/6/225 浏览

Git 在 Windows 环境下的安装与使用教程

核心摘要

本教程将手把手教你在 Windows 系统上安装和配置 Git,适合代码开发初学者。通过学习本教程,你将掌握:

  • Git 在 Windows 环境的下载安装流程
  • 基础配置与常用命令操作
  • 本地仓库的创建与代码版本管理
  • 远程仓库的连接与代码推送
  • 历史版本回退与恢复操作
  • 分支管理与合并策略

Git 是目前最流行的分布式版本控制系统,对于代码开发人员而言,掌握 Git 的使用是必备技能。

Git 安装步骤详解

2.1 下载 Git 安装包

Git 下载页面

步骤说明:

  1. 打开浏览器,访问 Git 官方网站:https://git-scm.com/
  2. 在首页点击"Download for Windows"按钮
  3. 选择适合你系统的版本(建议选择 64 位安装包)
  4. 点击下载等待完成

注意事项:

  • 确保下载的是最新版本
  • 下载完成后会在"下载"文件夹中找到安装包

2.2 运行安装程序

Git 安装路径选择

安装步骤:

  1. 双击下载的安装包,启动安装向导
  2. 阅读许可协议,勾选"I accept the agreement",点击 Next
  3. 选择安装路径(默认为 C:\Program Files\Git\,建议保持默认)
  4. 选择组件(建议保持默认勾选状态)

关键配置选项:

  • 桌面图标: 建议勾选,方便快速访问 Git
  • Windows 文件夹集成: 建议勾选,可以在文件夹右键菜单直接打开 Git 命令行
  • 关联 Shell 脚本文件: 建议勾选,使.sh 文件可以用命令行运行

2.3 高级配置设置

Git 高级配置选项

(1)选择默认编辑器

  • 建议选择"Use Visual Studio Code as Git's default editor"
  • 如果未安装 VS Code,可以选择 Notepad++ 或其他编辑器
  • 也可以保持默认的 Vim 编辑器

(2)设置初始分支名称

  • 选择"Let Git decide"(推荐):使用 Git 默认的 master 分支
  • 或选择"Override the default branch name",指定 main 等名称
  • 此设置不会影响已存在的仓库

(3)调整 PATH 环境变量

  • 选择"Git from the command line and also from 3rd-party software"
  • 此选项确保 Git 命令在命令提示符和其他软件中可用

(4)换行符处理

  • 选择"Checkout Windows-style, commit Unix-style line endings"
  • 此设置可避免跨平台协作时的换行符问题

2.4 完成安装

Git 安装完成

  1. 点击"Install"开始安装
  2. 安装完成后,勾选"Launch Git Bash"可以直接启动 Git 命令行
  3. 点击"Finish"退出安装向导

验证安装与基础配置

3.1 验证 Git 安装

Git Bash 右键菜单

操作步骤:

  1. 打开"开始"菜单,找到"Git"文件夹
  2. 选择"Git Bash"启动命令行工具
  3. 在命令行中输入以下命令验证版本:
git --version

预期输出:

git version 2.47.1.windows.2

如果显示版本号,说明 Git 安装成功。

3.2 配置用户信息

Git 配置用户信息

设置全局用户名和邮箱:

在 Git Bash 中依次执行以下命令(替换为你的实际信息):

git config --global user.name "你的姓名"
git config --global user.email "你的邮箱@example.com"

作用说明:

  • 配置的用户名和邮箱用于标识代码提交的作者身份
  • 必须与代码托管平台(如 GitHub、Gitee)的注册信息一致
  • 使用 git config --global --list 可查看当前配置

Git 基础使用操作

4.1 创建本地仓库

Git 初始化仓库

操作流程:

  1. 创建项目目录
mkdir my-project
cd my-project
  1. 初始化 Git 仓库
git init
  1. 查看仓库状态
git status

状态说明:

  • git status 会显示工作目录的状态
  • 初次显示会有"Untracked files"提示
  • 需要将文件添加到暂存区后才能提交

4.2 添加与提交文件

Git 提交代码

基本操作步骤:

  1. 添加文件到暂存区
git add README.md
  1. 添加所有文件
git add .
  1. 提交更改
git commit -m "Initial commit"

参数说明:

  • git add <文件名>:添加指定文件到暂存区
  • git add .:添加所有更改的文件
  • git commit -m "提交信息":提交暂存区的更改并添加说明信息

4.3 查看历史记录

git log
git log --oneline
git log README.md

输出信息:

  • 每次提交的作者、时间、提交信息
  • 提交 ID(用于回滚或比较)

远程仓库操作

5.1 关联远程仓库

git remote add origin https://github.com/用户名/仓库名.git
git remote -v
git remote rename origin origin-backup

说明:

  • origin 是远程仓库的默认名称
  • 可以关联多个远程仓库
  • URL 支持 HTTPS 和 SSH 两种协议

5.2 克隆远程仓库

git clone https://github.com/用户名/仓库名.git

说明:

  • 会将远程仓库完整复制到本地
  • 克隆后会自动关联远程仓库
  • 目录名为仓库名称

5.3 推送代码

git add .
git commit -m "提交信息"
git push -u origin main

参数说明:

  • u 参数将本地分支关联到远程分支
  • 首次推送时需要使用
  • 后续推送可直接使用 git push

5.4 拉取更新

git pull origin main

说明:

  • 会自动合并远程更改到本地分支
  • 如果有冲突,需要手动解决后再次提交

进阶操作:历史版本管理、分支管理与合并

6.1 历史版本回退与恢复

6.1.1 回退历史版本

在开发过程中,有时需要回退到之前的版本。Git 提供了多种回退方式:

Git revert 操作

(1)使用 git reset 回退版本

git log --oneline
git reset --soft HEAD^
git reset --hard HEAD^
git reset --hard <commit-id>

参数说明:

  • -soft:回退到指定版本,但保留工作区的修改
  • -hard:完全回退到指定版本,丢弃工作区的修改
  • HEAD^:上一个版本
  • HEAD~n:向上回退 n 个版本
  • <commit-id>:指定的提交 ID

实际操作示例:

假设当前有 3 个版本:A -> B -> C(最新),要回退到版本 B:

git reset --hard HEAD^

(2)使用 git revert 撤销特定提交

git revert <commit-id>
git revert HEAD

reset 通过移动 HEAD 指针来回退版本,会丢失历史记录;revert 创建一个新提交来撤销之前的操作,保留完整的历史记录。

6.1.2 查看历史命令

(1)查看引用日志(reflog)

git reflog
git reflog -10
git reflog show <branch-name>

Git 工作区、暂存区和仓库

作用:

  • reflog 记录了所有对 HEAD 的操作历史
  • 可以用于恢复到任何之前的状态
  • 即使在 reset 或 revert 后也能找到之前的版本

(2)恢复到之前的版本

git reflog
git reset --hard HEAD@{2}

6.2 分支管理

6.2.1 创建与切换分支

(1)查看分支

git branch
git branch -a
git branch --merged
git branch --no-merged

(2)创建分支

git checkout -b <branch-name>
git branch <branch-name>
git switch -c <branch-name>

实际操作示例:

创建一个开发新功能的分支:

git checkout -b feature/user-auth
echo "new code" >> feature.js
git add feature.js
git commit -m "feat: add user authentication"

(3)切换分支

git checkout <branch-name>
git switch <branch-name>
git checkout -
6.2.2 管理分支

(1)合并分支

Git merge 操作

git checkout master
git merge <branch-name>
git merge --no-ff <branch-name>

合并过程说明:

  1. Git 会尝试自动合并
  2. 如果有冲突,需要手动解决
  3. 解决冲突后需要再次提交

(2)删除分支

git branch -d <branch-name>
git branch -D <branch-name>
git push origin --delete <branch-name>
6.2.3 分支管理策略

GitFlow 工作流

推荐的分支管理模式:

(1)GitFlow 模式

  • 主分支:master(生产环境)、develop(开发环境)
  • 功能分支:feature/功能名称
  • 发布分支:release/版本号
  • 修复分支:hotfix/问题描述

(2)GitHubFlow 模式

  • 主分支:main(始终稳定)
  • 功能分支:直接在 main 分支创建 Pull Request
  • 简化流程,适合持续部署

6.3 变基操作(Rebase)

6.3.1 什么是变基

变基(rebase)是一种将一个分支的修改重新应用到另一个分支基础上的操作。它与 merge 的区别在于:

Git rebase 与 merge 对比

  • merge:保留完整的历史记录,创建一个合并提交
  • rebase:将修改"重放"在目标分支的基础上,保持历史线性
6.3.2 使用变基

(1)变基基本操作

git rebase <target-branch>
git rebase <commit-id>
git rebase -i HEAD~3

(2)变基的优势

  • 保持历史记录整洁线性
  • 避免不必要的合并提交
  • 便于理解和维护

(3)变基的注意事项

  • 变基会重写历史,不要对已推送的分支进行变基
  • 如果分支已经推送到远程并被人使用,不要轻易变基
  • 变基过程中遇到冲突需要解决后继续 git rebase --continue
6.3.3 变基 vs 合并

使用 merge 的场景:

  • 需要保留完整的历史记录
  • 团队协作时需要清晰的合并信息
  • 不改变提交历史

使用 rebase 的场景:

  • 希望保持线性的历史记录
  • 在推送前整理本地提交
  • 避免历史记录过于复杂

6.4 解决合并冲突

6.4.1 冲突产生的原因

当两个分支对同一文件的同一区域进行了不同的修改,Git 无法自动决定如何合并时,就会产生冲突。

6.4.2 识别冲突
git pull origin main
git status
6.4.3 解决冲突

步骤 1:查看冲突文件

冲突文件中会有标记:

<<<<<<< HEAD
当前分支的内容
=======
待合并分支的内容
>>>>>>> branch-name

步骤 2:编辑文件

  • 手动修改文件内容
  • 保留需要保留的代码
  • 删除冲突标记

步骤 3:标记冲突已解决

git add <文件名>
git commit

常用 Git 命令速查表

命令说明示例
git init初始化仓库git init
git add添加文件到暂存区git add .
git commit提交更改git commit -m "信息"
git status查看状态git status
git log查看历史git log --oneline
git reset回退版本git reset --hard HEAD^
git revert撤销提交git revert <commit-id>
git reflog查看操作历史git reflog
git branch查看/创建分支git branch -b <name>
git checkout切换分支git checkout <branch>
git merge合并分支git merge <branch>
git rebase变基操作git rebase <branch>
git remote add添加远程仓库git remote add origin url
git clone克隆仓库git clone url
git push推送代码git push -u origin main
git pull拉取更新git pull origin main

常见问题与解决方案

8.1 安装相关问题

问题:命令提示符无法识别 git 命令

原因: PATH 环境变量未正确配置

解决: 重新安装时选择"Git from the command line and also from 3rd-party software"选项

问题:Git GUI 无法启动

原因: 安装时未勾选相关组件

解决: 重新安装并确保勾选"Git GUI Here"等选项

8.2 使用相关问题

问题:提交时提示邮箱无效

原因: 配置的邮箱与代码托管平台不一致

解决: 使用 git config --global user.email "正确邮箱" 重新配置

问题:换行符导致代码差异

现象: Windows 和 Linux 系统换行符不同导致提交时显示大量修改

解决: 安装时选择"Checkout Windows-style, commit Unix-style line endings"选项

额外配置: 运行 git config --global core.autocrlf true

问题:分支合并后出现冲突

原因: 两个分支修改了同一文件的同一区域

解决: 手动解决冲突后 git add 文件并 git commit

最佳实践建议

9.1 代码开发工作流

Git 分支工作流

推荐流程:

  1. 从远程仓库克隆项目或创建新项目
  2. 创建新分支进行开发(feature 分支)
  3. 完成开发后提交并推送到远程仓库
  4. 创建 Pull Request/Merge Request 请求代码审查
  5. 审查通过后合并到主分支(main/master)

9.2 提交规范

提交信息建议:

  • 使用清晰、简洁的描述
  • 采用"类型:简短描述"格式
  • 常见类型:feat(新功能)、fix(修复)、docs(文档)、style(格式)、refactor(重构)等
git commit -m "feat: 添加用户登录功能"
git commit -m "fix: 修复页面跳转问题"

9.3 分支管理策略

分支命名建议:

  • 主分支:main(master)
  • 开发分支:develop
  • 功能分支:feature/功能名称
  • 修复分支:hotfix/问题描述

最佳实践:

  • 保持主分支稳定,只合并经过测试的代码
  • 使用功能分支开发新特性,避免直接在主分支开发
  • 定期合并远程更新到本地分支
  • 完成功能后及时删除已合并的分支

9.4 历史版本管理建议

版本回退注意事项:

  • 使用 git log 查看历史后再回退
  • 对于重要操作,先用 git reflog 记录
  • 尽量使用 git revert 而不是 git reset,保留历史记录
  • 团队协作中避免强制推送到远程分支

进阶学习建议

10.1 图形化工具

  • Git GUI: Git 自带的图形界面工具,适合初学者
  • Sourcetree: 免费的 Git 图形化管理工具,功能强大
  • GitHub Desktop: GitHub 官方提供的桌面应用,界面友好

10.2 远程平台

  • GitHub: 最大的代码托管平台,开源项目首选
  • Gitee: 国内代码托管平台,访问速度快
  • GitLab: 支持私有部署,企业级解决方案

10.3 持续学习

推荐学习资源:

  • 廖雪峰 Git 教程:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
  • Git 官方文档:https://git-scm.com/doc
  • GitHub 官方指南:https://docs.github.com/cn/get-started

进阶技能:

  • SSH 密钥配置:免密码登录远程仓库
  • 高级分支策略:rebase、merge 等操作
  • 变基操作:保持提交历史整洁
  • 子模块管理:管理多项目依赖
  • 持续集成/持续部署(CI/CD)流程

总结与展望

11.1 学习总结

通过本教程的学习,你已经掌握了:

  • Git 在 Windows 环境的完整安装流程
  • 基础配置与常用命令操作
  • 本地仓库的创建与代码版本管理
  • 远程仓库的连接与代码推送
  • 历史版本回退与恢复操作
  • 分支管理与合并策略
  • 变基操作与冲突解决

11.2 实践建议

循序渐进的学习路径:

  1. 熟练掌握基础命令:add、commit、push、pull
  2. 学会分支管理:创建、切换、合并分支
  3. 掌握版本回退:reset、revert、reflog
  4. 学习变基操作:rebase、冲突解决
  5. 配置 SSH 密钥,提高安全性
  6. 使用图形化工具辅助理解 Git 操作
  7. 参与团队协作,学习代码审查流程

11.3 后续发展

技能提升方向:

  • 深入理解 Git 内部原理(对象模型、引用机制)
  • 掌握高级操作(cherry-pick、rebase、bisect)
  • 学习持续集成/持续部署(CI/CD)流程
  • 了解企业级 Git 工作流(GitFlow、GitHub Flow 等)
  • 熟练使用远程平台和企业级解决方案

Git 是代码开发的重要工具,通过持续的实践和应用,你将能够熟练掌握这个强大的版本控制系统,提高开发效率和代码质量。

Git 工作流程图解

Git 工作流程图

目录

  1. Git 在 Windows 环境下的安装与使用教程
  2. 核心摘要
  3. Git 安装步骤详解
  4. 2.1 下载 Git 安装包
  5. 2.2 运行安装程序
  6. 2.3 高级配置设置
  7. 2.4 完成安装
  8. 验证安装与基础配置
  9. 3.1 验证 Git 安装
  10. 3.2 配置用户信息
  11. Git 基础使用操作
  12. 4.1 创建本地仓库
  13. 4.2 添加与提交文件
  14. 4.3 查看历史记录
  15. 远程仓库操作
  16. 5.1 关联远程仓库
  17. 5.2 克隆远程仓库
  18. 5.3 推送代码
  19. 5.4 拉取更新
  20. 进阶操作:历史版本管理、分支管理与合并
  21. 6.1 历史版本回退与恢复
  22. 6.1.1 回退历史版本
  23. 6.1.2 查看历史命令
  24. 6.2 分支管理
  25. 6.2.1 创建与切换分支
  26. 6.2.2 管理分支
  27. 6.2.3 分支管理策略
  28. 6.3 变基操作(Rebase)
  29. 6.3.1 什么是变基
  30. 6.3.2 使用变基
  31. 6.3.3 变基 vs 合并
  32. 6.4 解决合并冲突
  33. 6.4.1 冲突产生的原因
  34. 6.4.2 识别冲突
  35. 6.4.3 解决冲突
  36. 常用 Git 命令速查表
  37. 常见问题与解决方案
  38. 8.1 安装相关问题
  39. 8.2 使用相关问题
  40. 最佳实践建议
  41. 9.1 代码开发工作流
  42. 9.2 提交规范
  43. 9.3 分支管理策略
  44. 9.4 历史版本管理建议
  45. 进阶学习建议
  46. 10.1 图形化工具
  47. 10.2 远程平台
  48. 10.3 持续学习
  49. 总结与展望
  50. 11.1 学习总结
  51. 11.2 实践建议
  52. 11.3 后续发展
  53. Git 工作流程图解
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Spatial Joy 2025 全球 AR&AI 赛事:开发者资源与参赛指南
  • FPGA 开发常用软件对比:Vivado、Quartus、ModelSim
  • ROS2 Humble 下 Mid360 运行 Fast-LIO2 实战指南
  • FPGA 车牌识别与 Modelsim 仿真:基于 Artix-7 硬件实现
  • Redis 7 持久化机制详解:RDB 与 AOF
  • 华为 OD 机试真题:挑选宝石 Python & JS 实现
  • XC7A100T FPGA 板卡设计与接口配置
  • CLI-Anything:让所有软件都能被 AI Agent 原生调用
  • Spring Cloud Alibaba 集成 SkyWalking 全链路追踪实战
  • ClawX:OpenClaw 可视化桌面客户端使用指南
  • Python 并发编程:多线程、多进程与协程详解
  • 从 try-catch 回调到链式调用:一种更优雅的 async/await 错误处理方案
  • VS Code 禁用 Copilot 代码补全功能
  • 前端大文件上传实战:分片、断点续传与拖拽优化
  • Midjourney 官方网址查询与中文访问方案
  • AIGC 赋能元宇宙:虚拟人物创作与智能交互技术
  • 从 Chatbot 到 Agent:基于 Kotlin 实现 AI 智能体开发
  • AI 绘画报错:CheckpointLoaderSimple 模型缺失修复指南
  • 智能车竞赛惯导与视觉避障思路分享
  • TypeScript 核心语法与类型系统实战笔记

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online