目录
- 第一步:安装 Git for Windows
- 下载安装包
- 安装过程详解
- 第二步:首次使用配置
- 设置用户名和邮箱
- 配置默认文本编辑器
- 配置默认分支名
- 第三步:选择你的 Git 工作方式
- 使用命令行 (Git Bash) - 推荐
- 使用图形界面客户端 (如 GitKraken, Sourcetree)
- 在 VS Code 中集成使用
- 第四步:核心工作流程实战
- 场景:在 GitHub 上创建一个新项目并同步到本地
- 详细步骤分解
- 第五步:常用命令速查表
- 第六步:遇到问题怎么办?
- 解决
git pull时提示fatal: refusing to merge unrelated histories - 解决
LF和CRLF换行符问题
- 解决
第一步:安装 Git for Windows
对于 Windows 用户,最简单、最官方的安装方式是下载 Git for Windows 安装包,它不仅包含了 Git 客户端,还附带了一个非常好用的命令行工具 Git Bash。

下载安装包
- 访问官方下载页面:https://git-scm.com/download/win
- 网站会自动检测你的操作系统并提供 64 位或 32 位的安装包下载链接,下载
.exe文件即可。
安装过程详解
双击下载的 .exe 文件,开始安装,大部分选项保持默认即可,但有几个关键步骤需要注意:
- 欢迎界面:直接点击 "Next"。
- 选择安装路径:默认路径
C:\Program Files\Git即可,如果你想更改,可以点击 "Browse"。 - 选择组件:保持默认,全部勾选即可,这些组件提供了更好的兼容性和功能。
- 开始菜单文件夹:保持默认,点击 "Next"。
- 选择编辑器:这是第一个重要选项。
- 推荐选择
Vim,Vim 是一个强大的命令行编辑器,虽然需要一点学习成本,但在所有 Git 环境中都能保证一致性。 - 如果你更熟悉图形界面,可以选择
Notepad++或Visual Studio Code,但前提是你已经安装了这些软件。 - 不推荐
Nano或Notepad,功能较少或体验不佳。
- 推荐选择
- 调整 PATH 环境变量:这是第二个重要选项。
- 推荐选择
Git from the command line and also from 3rd-party software,这会将 Git 命令添加到系统的环境变量中,这样你就可以在任何命令行工具(如 CMD、PowerShell)中使用git命令,并且也能被其他开发工具(如 VS Code)识别,这是最通用、最方便的选项。 - 如果只选择第一个,只能在 Git Bash 中使用 Git。
- 如果只选择第二个,只能从命令行使用,但不能被其他软件识别。
- 推荐选择
- 选择 SSH 执行文件:保持默认
OpenSSH即可。 - 选择 HTTPS 后端传输:保持默认
Native即可。 - 配置行尾符号转换:这是第三个重要选项。
- 选择
Checkout as-is, commit as-is,这样可以避免 Windows 的CRLF和 Linux/macOS 的LF换行符问题,防止代码在不同系统上出现不必要的变更,我们会在第六步详细解释这个问题。
- 选择
- 配置终端模拟器:这是第四个重要选项。
- 选择
Use Windows' default console window,这是 Windows 10/11 的现代终端,推荐使用。
- 选择
- 额外的选项:保持默认,点击 "Next"。
- 实验性选项:保持默认,点击 "Next"。
- 安装:点击 "Install" 等待安装完成。
- 安装完成:点击 "Finish",如果提示 "Launch Git Bash",可以勾选它,然后点击 "Finish" 直接打开 Git Bash。
第二步:首次使用配置
安装完成后,必须先进行身份配置,这样 Git 才能知道是谁提交了代码。
设置用户名和邮箱
打开 Git Bash(可以在开始菜单中找到,或者在任意文件夹右键选择 "Git Bash Here"),输入以下命令:
# 设置你的用户名,这是你提交代码时显示的名字 git config --global user.name "你的名字或昵称" # 设置你的邮箱,通常使用你的邮箱地址 git config --global user.email "你的邮箱地址@example.com"
示例:

git config --global user.name "Zhang San" git config --global user.email "zhangsan@example.com"
--global 参数表示这个配置是全局生效的,你电脑上所有的 Git 仓库都会使用这个信息,如果你只想为某个特定仓库设置不同的信息,可以去掉 --global,在该仓库目录下运行命令。
配置默认文本编辑器
(可选,但推荐)如果你在安装时选择了 Vim,可以跳过,如果你想使用 VS Code 作为默认编辑器(当执行 git commit 时会弹出 VS Code 让你输入提交信息),可以运行:
git config --global core.editor "code --wait"
注意:这条命令假设你已经安装了 VS Code 并且它被添加到了系统环境变量 PATH 中,如果没有,你需要使用 VS Code 的完整安装路径。
配置默认分支名
(可选,但推荐)从 Git 2.28 开始,新仓库的默认分支名从 master 改为了 main,为了保持一致,你可以将全局默认分支名设置为 main:
git config --global init.defaultBranch main
验证配置
输入以下命令,查看你的所有全局配置:
git config --list
你应该能看到刚刚设置的 user.name, user.email 等信息。
第三步:选择你的 Git 工作方式
Git 本身是一个命令行工具,但你可以通过不同的方式来使用它。
使用命令行 (Git Bash) - 推荐初学者掌握
这是最核心、最直接的方式,虽然一开始会有点不习惯,但一旦熟练,效率极高,你将直接与 Git 交互,理解每一个命令的含义。
- 如何启动:在任意文件夹右键,选择 "Git Bash Here"。
使用图形界面客户端
如果你对命令行感到恐惧,或者更喜欢可视化的操作,可以使用图形界面客户端,它们将复杂的命令转化成了点击按钮。
- 推荐工具:
- GitKraken:功能强大,界面美观,免费版对个人用户足够使用。
- Sourcetree:Atlassian 出品,免费,功能也比较全面。
- GitHub Desktop:GitHub 官方出品,与 GitHub 仓库集成度非常高,简单易用。
- 优点:直观,易于上手,可视化分支和提交历史。
- 缺点:在某些复杂操作上可能不够灵活,且会让你忽略命令行的学习。
在 VS Code 中集成使用
如果你是 VS Code 用户,这是最佳选择之一,VS Code 内置了强大的 Git 支持。
- 如何使用:安装 VS Code 后,它会自动检测系统中的 Git,在 VS Code 中打开一个文件夹,左侧活动栏会有一个源代码管理图标(像分支的图标),点击即可看到所有 Git 操作。
- 优点:无缝集成在你日常的编码环境中,无需切换软件。
第四步:核心工作流程实战
假设你已经在 GitHub 上创建了一个新的空仓库,地址是 https://github.com/你的用户名/my-new-project.git,现在我们把它同步到本地,并进行一次开发、提交和推送。
场景:在 GitHub 上创建一个新项目并同步到本地
-
克隆仓库 在你想要存放项目的文件夹中,右键打开 "Git Bash",运行
git clone命令。# 将 GitHub 上的仓库克隆到本地当前目录 git clone https://github.com/你的用户名/my-new-project.git
执行后,会在当前目录下创建一个
my-new-project文件夹,里面就是仓库的所有文件。 -
进入项目目录
# 切换到项目目录 cd my-new-project
-
查看状态
git status是最常用的命令之一,用于查看仓库的当前状态(是否有未提交的修改、是否在正确的分支等)。git status
你会看到类似
On branch main和nothing to commit, working tree clean的输出。 -
修改文件 在
my-new-project文件夹里,创建一个新文件,README.md,并写入一些内容。 -
再次查看状态
git status
Git 会告诉你
README.md是一个未被跟踪的文件。 -
添加文件到暂存区 在提交之前,你需要先用
git add告诉 Git 你想把哪些文件的修改记录下来。# 添加单个文件 git add README.md # 或者添加所有被修改和新增的文件 git add .
-
再次查看状态
git status
你会看到
README.md已经从 "Untracked files" 变成了 "Changes to be committed",表示它已经进入了“暂存区”。 -
提交修改 现在可以将暂存区的修改提交到本地仓库了。
# -m "提交信息" 是必须的,用简洁的语言描述这次修改 git commit -m "feat: 添加了项目说明文件"
-m是--message的缩写,一个好的提交信息习惯是:类型: 描述,feat:(新功能),fix:(修复bug),docs:(文档更新)。 -
推送到远程仓库 本地的修改已经提交,但还在你的电脑上,你需要用
git push将它同步到 GitHub 上。# 将当前分支的修改推送到对应的远程分支 git push origin main
origin是远程仓库的默认名称,main是你当前所在的分支名。 -
去 GitHub 查看 刷新你的 GitHub 仓库页面,你会发现
README.md文件已经成功上传了。
第五步:常用命令速查表
| 命令 | 简述 | 示例 |
|---|---|---|
git config |
配置 Git | git config --global user.name "Name" |
git init |
在当前目录初始化一个 Git 仓库 | git init |
git clone [url] |
克隆一个远程仓库到本地 | git clone https://github.com/user/repo.git |
git status |
查看仓库状态 | git status |
git add [file] |
添加文件到暂存区 | git add . (添加所有) |
git commit -m "msg" |
提交暂存区的修改到本地仓库 | git commit -m "add new feature" |
git push [remote] [branch] |
推送本地分支到远程仓库 | git push origin main |
git pull [remote] [branch] |
拉取远程仓库的更新并合并到本地 | git pull origin main |
git log |
查看提交历史 | git log --oneline (简洁模式) |
git branch |
查看分支列表 | git branch -a (查看所有分支) |
git checkout [branch] |
切换分支 | git checkout main |
git checkout -b [new-branch] |
创建并切换到一个新分支 | git checkout -b feature/login |
git merge [branch] |
将指定分支合并到当前分支 | git merge feature/login |
git remote -v |
查看远程仓库信息 | git remote -v |
第六步:遇到问题怎么办?
解决 git pull 时提示 fatal: refusing to merge unrelated histories
问题:当你克隆一个空仓库,或者想拉取一个与你本地历史完全不同的项目时,可能会遇到这个错误。
原因:Git 默认不允许将两个没有共同祖先的历史记录进行合并,以防止意外的数据丢失。
解决方案:在 pull 命令后加上 --allow-unrelated-histories 参数。
git pull origin main --allow-unrelated-histories
解决 LF 和 CRLF 换行符问题
问题:在 Windows 上,文本文件的换行符是 CRLF (\r\n),而在 Linux 和 macOS 上是 LF (\n),如果你在 Windows 上开发,然后提交到 Git,Git 会认为你修改了所有的换行符,导致提交记录变得非常混乱。
解决方案:在安装 Git for Windows 时,我们已经推荐过选择 Checkout as-is, commit as-is,如果当时没选,现在也可以通过配置来修复。
-
全局配置(推荐): 在 Git Bash 中运行以下命令,让 Git 在提交时将
CRLF转换为LF,在检出(从仓库拉到本地)时不转换。# 配置提交时转换为LF,检出时不转换 git config --global core.autocrlf input
input: 提交时转换为LF,Windows 和 Unix 都适用。true: 提交时转换为LF,检出时转换为CRLF,适用于纯 Windows 开发环境。false: 不进行任何转换,适用于纯 Linux/macOS 开发环境,或者团队已经统一使用LF的环境。
-
项目级配置: 如果只想为当前项目设置,可以去掉
--global。cd /path/to/your/project git config core.autocrlf input
恭喜你!现在你已经掌握了在 Windows 上安装、配置和使用 Git 的基本流程,从安装配置到核心的 clone, add, commit, push 流程,再到常见问题的解决,你已经具备了使用 Git 进行版本控制的基础能力。
建议:
- 多动手实践:尝试自己创建仓库,写一些代码,提交和推送。
- 尝试分支:创建一个新分支进行开发,然后再合并回主分支,这是 Git 的核心功能之一。
- 结合图形界面:初期可以同时使用 Git Bash 和一个图形客户端(如 GitHub Desktop),对照学习,加深理解。
祝你使用愉快!
