Git 在 Windows 环境下的安装与使用教程
核心摘要
本教程将手把手教你在 Windows 系统上安装和配置 Git,适合代码开发初学者。通过学习本教程,你将掌握:
- Git 在 Windows 环境的下载安装流程
- 基础配置与常用命令操作
- 本地仓库的创建与代码版本管理
- 远程仓库的连接与代码推送
- 历史版本回退与恢复操作
- 分支管理与合并策略
Git 是目前最流行的分布式版本控制系统,对于代码开发人员而言,掌握 Git 的使用是必备技能。
Git 安装步骤详解
2.1 下载 Git 安装包

步骤说明:
- 打开浏览器,访问 Git 官方网站:https://git-scm.com/
- 在首页点击"Download for Windows"按钮
- 选择适合你系统的版本(建议选择 64 位安装包)
- 点击下载等待完成
注意事项:
- 确保下载的是最新版本
- 下载完成后会在"下载"文件夹中找到安装包
2.2 运行安装程序

安装步骤:
- 双击下载的安装包,启动安装向导
- 阅读许可协议,勾选"I accept the agreement",点击 Next
- 选择安装路径(默认为 C:\Program Files\Git\,建议保持默认)
- 选择组件(建议保持默认勾选状态)
关键配置选项:
- 桌面图标: 建议勾选,方便快速访问 Git
- Windows 文件夹集成: 建议勾选,可以在文件夹右键菜单直接打开 Git 命令行
- 关联 Shell 脚本文件: 建议勾选,使.sh 文件可以用命令行运行
2.3 高级配置设置

(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 完成安装

- 点击"Install"开始安装
- 安装完成后,勾选"Launch Git Bash"可以直接启动 Git 命令行
- 点击"Finish"退出安装向导
验证安装与基础配置
3.1 验证 Git 安装

操作步骤:
- 打开"开始"菜单,找到"Git"文件夹
- 选择"Git Bash"启动命令行工具
- 在命令行中输入以下命令验证版本:
git --version
预期输出:
git version 2.47.1.windows.2
如果显示版本号,说明 Git 安装成功。
3.2 配置用户信息

设置全局用户名和邮箱:
在 Git Bash 中依次执行以下命令(替换为你的实际信息):
git config --global user.name "你的姓名"
git config --global user.email "你的邮箱@example.com"
作用说明:
- 配置的用户名和邮箱用于标识代码提交的作者身份
- 必须与代码托管平台(如 GitHub、Gitee)的注册信息一致
- 使用
git config --global --list可查看当前配置
Git 基础使用操作
4.1 创建本地仓库

操作流程:
- 创建项目目录
mkdir my-project
cd my-project
- 初始化 Git 仓库
git init
- 查看仓库状态
git status
状态说明:
git status会显示工作目录的状态- 初次显示会有"Untracked files"提示
- 需要将文件添加到暂存区后才能提交
4.2 添加与提交文件

基本操作步骤:
- 添加文件到暂存区
git add README.md
- 添加所有文件
git add .
- 提交更改
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 提供了多种回退方式:

(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>

作用:
- 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 checkout master
git merge <branch-name>
git merge --no-ff <branch-name>
合并过程说明:
- Git 会尝试自动合并
- 如果有冲突,需要手动解决
- 解决冲突后需要再次提交
(2)删除分支
git branch -d <branch-name>
git branch -D <branch-name>
git push origin --delete <branch-name>
6.2.3 分支管理策略

推荐的分支管理模式:
(1)GitFlow 模式
- 主分支:master(生产环境)、develop(开发环境)
- 功能分支:feature/功能名称
- 发布分支:release/版本号
- 修复分支:hotfix/问题描述
(2)GitHubFlow 模式
- 主分支:main(始终稳定)
- 功能分支:直接在 main 分支创建 Pull Request
- 简化流程,适合持续部署
6.3 变基操作(Rebase)
6.3.1 什么是变基
变基(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 代码开发工作流

推荐流程:
- 从远程仓库克隆项目或创建新项目
- 创建新分支进行开发(feature 分支)
- 完成开发后提交并推送到远程仓库
- 创建 Pull Request/Merge Request 请求代码审查
- 审查通过后合并到主分支(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 实践建议
循序渐进的学习路径:
- 熟练掌握基础命令:add、commit、push、pull
- 学会分支管理:创建、切换、合并分支
- 掌握版本回退:reset、revert、reflog
- 学习变基操作:rebase、冲突解决
- 配置 SSH 密钥,提高安全性
- 使用图形化工具辅助理解 Git 操作
- 参与团队协作,学习代码审查流程
11.3 后续发展
技能提升方向:
- 深入理解 Git 内部原理(对象模型、引用机制)
- 掌握高级操作(cherry-pick、rebase、bisect)
- 学习持续集成/持续部署(CI/CD)流程
- 了解企业级 Git 工作流(GitFlow、GitHub Flow 等)
- 熟练使用远程平台和企业级解决方案
Git 是代码开发的重要工具,通过持续的实践和应用,你将能够熟练掌握这个强大的版本控制系统,提高开发效率和代码质量。
Git 工作流程图解


