下载
https://git-scm.com/install/windows

下载好后双击安装包
选择组件(Select Components)

这个界面是让你决定:你要在 Windows 系统里植入哪些 Git 的便利功能?
默认选择挺好的,可以直接点下一步
Additional icons (附加图标)
On the Desktop (在桌面上创建图标)
如果勾选,会在桌面放一个 Git Bash 的快捷方式
Windows Explorer integration(Windows 资源管理器集成)
下面有两个子选项,这两个功能决定了你以后能不能在文件夹里通过右键快速使用 Git
Open Git Bash here (在这里打开 Git 命令行)
Open Git GUI here (在这里打开 Git 图形界面)
Git LFS (Large File Support) (大文件支持)
Git 本身是设计用来存代码(文本)的,存大图片、音频或视频(二进制文件)效率很低。LFS 是一个插件,专门用来优化大文件的存储
Associate .git* configuration files... (关联配置文件)
让 Windows 知道 .gitconfig 等配置文件是文本文件,双击时自动用你默认的文本编辑器打开
Associate .sh files to be run with Bash (关联 .sh 脚本)
勾选这个,你在 Windows 里双击 .sh 文件,它就会自动用 Git Bash 运行
Check daily for Git for Windows updates (每天检查更新)
每天联网检查有没有新版本 Git
Add a Git Bash Profile to Windows Terminal(添加到 Windows 终端)
勾选这一项,你的 Windows 终端下拉菜单里会自动增加一个 "Git Bash" 的选项
Scalar (Git add-on to manage large-scale repositories)
这是微软开发的一个工具,用来优化超大型仓库(比如几十 GB 的代码库)的性能
选择默认编辑器(Choosing the default editor used by Git)

这是在问你:当 Git 需要你输入一段文字(比如提交说明)时,你希望它自动打开哪个软件让你写?
我选择 VS Code
调整新代码仓库中初始分支的名称(Adjusting the name of the initial branch in new repositories)
过去: 在 Git 诞生的头十几年里,默认的主分支一直叫 master,老程序员都习惯了这个名字
现在: 大约从 2020 年开始,为了政治正确(避免 Master/Slave 主从隐喻)以及更中性的表述,GitHub 等国际主流代码托管平台都把默认分支名改成了 main
Let Git decide (让 Git 决定)
继续沿用 Git 软件内部默认的旧名字 ------ master
Override the default branch name(覆盖默认分支名)
手动指定一个新名字,通常填入 main
选择第二个

调整你的 PATH 环境变量(Adjusting your PATH environment)
这是在问你:你想在哪些地方能够使用 Git 命令?
选项 1:Use Git from Git Bash only (仅在 Git Bash 中使用 Git)
最保守的选项
Git 命令只能在你专门打开**"Git Bash"**时才能用。如果你打开 Windows 自带的 CMD 或 PowerShell,或者在 VS Code 的终端里输入 git,电脑不能识别该命令
选项 2:Git from the command line and also from 3rd-party software (在命令行和第三方软件中使用 Git)
这是最标准、最完美的选择
它会把 Git 的核心命令放入系统的 PATH 环境变量中。你可以在 CMD、PowerShell、Windows Terminal 里输入 git 命令
选项 3:Use Git and optional Unix tools from the Command Prompt (在命令提示符中使用 Git 和可选的 Unix 工具)
最激进的选项
它不仅把 Git 放进环境变量,还把一大堆 Linux/Unix 的工具命令(如 ls, find, sort 等)强行塞进 Windows 的系统路径里。Windows 系统本身也有叫 find 和 sort 的命令,但用法和 Linux 的完全不一样。如果你选了这个,Git 自带的 Linux 版本会"覆盖"掉 Windows 自带的版本
保持默认选择第二个

选择 SSH 可执行文件(Choosing the SSH executable)
选项 1:Use bundled OpenSSH (使用内置的 OpenSSH)
Git 安装包里自带了一套完整、标准的 OpenSSH 工具
选择这项,意味着 Git 会使用它自己文件夹里的 ssh.exe
这个版本是经过官方测试的,绝对能和 Git 完美配合
选项 2:Use external OpenSSH (使用外部的 OpenSSH)
会使用 Windows 系统里安装的 SSH 工具
保持默认选择

选择 HTTPS 传输后端(Choosing HTTPS transport backend)
这是在问你:当 Git 进行 HTTPS 连接(比如下载代码)时,用谁来负责安全检查?
选项 1:Use the OpenSSL library (使用 OpenSSL 库)
这是 Git 的官方默认标准
Git 使用自己带的一个证书文件(ca-bundle.crt)来验证服务器是否安全
选项 2:Use the native Windows Secure Channel library (使用 Windows 原生安全通道库)
Git 不用自己的证书列表,使用 Windows 的证书
推荐选第一个

配置行尾转换格式(Configuring the line ending conversions)
这是为了解决 Windows 和 Linux/Mac 系统之间"语言不通"的问题
"回车换行"在不同系统里是不一样的
- Windows 系统: 使用两个字符来表示换行:\r\n (CRLF)
- Linux / Mac / Unix 系统: 只使用一个字符来表示换行:\n (LF)
选项 1:Checkout Windows-style, commit Unix-style line endings
检出(下载)时转成 Windows 风格,提交(上传)时转成 Unix 风格
Checkout (拉取代码时): Git 发现仓库里是 LF(Linux 风格),它会在下载到你电脑硬盘时,自动转换成 CRLF(Windows 风格)
Commit (提交代码时): 当你写完代码准备 push 到 GitHub 时,Git 会把你文件里的 CRLF 自动转换回 LF,然后再存入仓库
选项 2:Checkout as-is, commit Unix-style line endings
检出时不转换,提交时转成 Unix 风格
这通常是给 Mac 或 Linux 用户用的
选项 3:Checkout as-is, commit as-is
啥都不改,原样进出
你的仓库里会混杂着 LF 和 CRLF
选择第一个

配置 Git Bash 使用的终端模拟器(Configuring the terminal emulator to use with Git IBash)
这是在问你:当你直接打开 Git Bash 时,你希望用哪种'窗口程序'来显示它?
选项 1:Use MinTTY (the default terminal of MSYS2)
使用 MinTTY 作为终端模拟器
Git for Windows 其实是基于 MSYS2 构建的(一个在 Windows 上模拟 Linux 环境的系统)
MinTTY 是这个系统的原生窗口
选项 2:Use Windows' default console window
使用 Windows 传统的"命令提示符"窗口
选择第一个

选择 git pull 的默认行为
Choose the default behavior of `git pull`
这是在问你:当你在本地写了代码,服务器上也有了新代码,你执行 git pull(拉取)命令时,Git 该怎么把这两份代码合并起来?
选项 1:Fast-forward or merge (快进或合并)
标准做法
情况 A(理想情况): 如果你没改任何代码,只是单纯想更新,Git 就直接把进度条往前拉(Fast-forward)
情况 B(分叉情况): 如果你改了代码,同事也改了代码。Git 会自动生成一个"合并提交"(Merge Commit),把你们俩的修改连在一起
在 Git 历史树状图上,你会看到线分叉了,然后又汇合了
选项 2:Rebase (变基)
我把我的修改先拿下来,先把服务器的更新放进去,再把我的修改贴在最上面
Git 历史图是一条完美的直线,没有任何分叉
选项 3:Only ever fast-forward (仅允许快进)
绝不自动合并
如果能直接更新(Fast-forward),就更新
如果一旦发现有分叉(你改了,服务器也改了),直接报错退出,让你自己去手动处理
选择第一个

选择凭据助手
Choose a credential helper
这是在问你:以后当需要输入账号密码(比如推送到 GitHub)时,你希望 Git 怎么帮你'记住'这些密码?
选项 1:Git Credential Manager
是一个安全的凭证助手,它的核心作用是帮助你在与远程 Git 仓库(如 GitHub )进行交互时,安全地存储和管理你的登录信息
选项 2:None
每次操作都要手动输密码
选择第一个

配置额外选项
选项1:Enable file system caching (启用文件系统缓存)
让 Git 把文件的一些信息(比如修改时间、文件大小)临时存在内存里
Windows 的文件系统(NTFS)在处理这种海量小文件的快速读取时,比 Linux 慢很多
如果不开启这个缓存,你在 Windows 上操作大项目时,Git 会慢得像蜗牛
选项2:Enable symbolic links (启用符号链接)
在 Linux/Mac 系统里,这种符号链接用得很普遍,程序会把它们当作真实的文件来读取
Windows 对符号链接的支持不如 Linux 完善,容易出各种奇怪的 Bug
普通开发完全用不到
选择第一个

验证
打开 cmd,输入
git --version
