[笔记] Windows 上 Git 安装详细教程:从零开始,附带每个选项解析

Git 是目前最流行的分布式版本控制系统之一,广泛应用于软件开发和项目管理中。对于 Windows 用户来说,正确安装和配置 Git 是开始使用 Git 的第一步。本文提供一份详细的指南,帮助你在 Windows 系统上顺利安装 Git,并解释每个安装步骤中的关键选项,确保你能够根据自己的需求进行最佳配置。无论你是初次接触 Git 的新手,还是希望优化现有安装的老手,本文都将为你提供有价值的指导。

Git 使用文档: [笔记] Git 实战指南:Git命令大全 与 Git提交信息规范

一、下载地址

Git - Downloads

二、安装 git

1. 运行应用程序

2. 安装声明

3. 安装路径

4. 选择组件

4.1 Additional Icons

  • 描述 :此选项允许你在桌面上添加 Git BashGit GUI 的快捷方式。
  • 建议 :推荐勾选,方便快速访问 Git 工具。
  • 选项
    • On the Desktop:在桌面上创建快捷方式。

4.2 Windows Explorer integration

  • 描述 :此选项允许你在 Windows 资源管理器的右键菜单中添加 Git BashGit GUI 选项,方便在任意文件夹中快速打开 Git 工具。
  • 建议:根据个人习惯选择,推荐勾选。
  • 选项
    • Git Bash Here:右键菜单中添加 Git Bash 选项。
    • Git GUI Here:右键菜单中添加 Git GUI 选项。

4.3 Git LFS (Large File Support)

  • 描述Git LFS 是一个 Git 扩展,用于管理大型文件(如图像、视频等),避免这些文件占用过多的存储空间。
  • 建议:推荐勾选,特别是如果你需要处理大文件项目。

4.4 Associate .git* configuration files with the default text editor

  • 描述 :此选项允许你将 .git 配置文件与默认文本编辑器关联,方便直接编辑这些文件。
  • 建议 :推荐勾选,便于管理和修改 Git 配置。

4.5 Associate .sh files to be run with Bash

  • 描述 :此选项允许你将 .sh 文件与 Bash 关联,使你可以直接双击运行这些脚本文件。
  • 建议 :推荐勾选,方便执行 Shell 脚本。

4.6 Check daily for Git for Windows updates

  • 描述 :此选项会每天自动检查 Git for Windows 的更新。
  • 建议:不推荐勾选,除非你需要始终保持最新版本。

4.7 Add a Git Bash Profile to Windows Terminal

  • 描述 :此选项会将 Git Bash 配置文件添加到 Windows Terminal 中,方便从终端快速启动 Git Bash
  • 建议:推荐勾选,提升开发效率。

4.8 Scalar (Git add-on to manage large-scale repositories)

  • 描述Scalar Git 的一个扩展,专门用于管理大规模仓库,适用于处理非常大的代码库。
  • 建议:视情况而定,如果你有大规模仓库的需求,可以考虑勾选。

5. 开始菜单文件夹

6. Git 默认编辑器

Git 安装程序里面内置了10种编辑器供你挑选,比如 Atom、Notepad、Notepad++、Sublime Text、Visual Studio Code、Vim 等等,默认的是 Vim

如果选择其他编辑器,例如 vscode,则点击蓝色链接先安装 vscode

7. 初始化新项目(仓库)的主分支名称

  • Let Git decide : 让 Git 自己选择,名字是master,但是未来也有可能会改为其他名字。
  • Override the default branch name for new repositories :自定义名字,默认是main

8. Path 环境变量(默认即可)

8.1 Use Git from Git Bash only

  • 仅从 Git Bash 使用 Git
  • 这是最谨慎的选择,因为您的 PATH 根本不会被修改。您将只能使用 Git Bash 中的 Git 命令行工具。

8.2 Git from the command line and also from 3rd-party software

  • 从命令行以及第三方软件进行 Git
  • (推荐)此选项仅将一些最小的 Git 包装器添加到PATH中,以避免使用可选的 Unix 工具使环境混乱。您将能够使用 Git Bash 中的 Git,命令提示符和 Windov PowerShell 以及在 PATH 中寻找 Git 的任何第三方软件。

8.3 Use Git and optional Unix tools from the Command Prompt

  • 使用命令提示符中的 Git 和可选的Unix工具
  • Git 和可选的 Unix 工具都将添加到您的 PATH 中。警告:这将覆盖 Windows 工具,例如 "find" and "sort". 仅在了解其含义后使用此选项。

9. 选择 SSH 执行文件(默认即可)

9.1 use bundled opensSH

  • 使用捆绑开放SH
  • 它使用Git附带的ssh.exe

9.2 Use external opensSH

  • 使用外部操作系统SH
  • 新的!这将使用外部的ssh.exe.Git不会安装它自己的OpenSSH(和相关的)二进制文件,而是像在路径上找到的那样使用它们。

10. 选择 HTTPS 后端传输

如果只是用 Git来访问 Github、Gitlab等网站,使用默认即可。

10.1 use the OpenSSL library

  • 使用 OpenSSL
  • 服务器证书将使用 ca-bundle.crt 文件进行验证。

10.2 Use the native Windows Secure Channel library

  • 使用本机 Windows 安全通道库
  • 服务器证书将使用 Windows 证书存储进行验证。此选项还允许您使用公司内部分发的内部根 CA 证书,例如通过 Active Directory 域服务。

11. 配置行尾符号转换(默认即可)

11.1 Checkout Windows-style, commit Unix-style line endings

  • 描述Git 会在检出文件时将行尾符号从 Unix 样式(LF)转换为 Windows 样式(CRLF),而在提交文件时将行尾符号从 Windows 样式(CRLF)转换回 Unix 样式(LF)
  • 简述 :签出 Windows 样式,提交 Unix 样式的行结尾。
  • 建议 :推荐用于跨平台项目,特别是当项目主要在 Windows 系统上开发时。这样可以确保在 Windows 系统上查看文件时没有多余的换行符,而在 Unix 系统上提交时保持一致性。

11.2 Checkout as-is, commit Unix-style line endings

  • 描述Git 在检出文件时不会进行任何行尾符号转换,但在提交文件时会将行尾符号从 Windows 样式(CRLF)转换为Unix样式(LF)
  • 简述 :按原样签出,提交Unix样式的行结尾。
  • 建议 :推荐用于跨平台项目,特别是当项目主要在Unix系统上开发时。这样可以确保在 Unix 系统上查看文件时没有多余的换行符,而在 Windows 系统上提交时保持一致性。

11.3 Checkout as-is, commit as-is

  • 描述Git 在检出和提交文件时都不会进行任何行尾符号转换。
  • 简述:按原样签出,按原样提交。
  • 建议:不推荐用于跨平台项目,因为这可能导致在不同操作系统上查看文件时出现不一致的行尾符号。选择此选项时,需要手动处理行尾符号的转换。

12. 配置终端模拟器(默认即可)

12.1 Use MinTTY (the default terminal of MSYS2)

  • 描述 :选择此选项后,Git Bash 将使用 MinTTY 作为终端模拟器。MinTTYMSYS2 的默认终端,具有可调整大小的窗口、非矩形选择和 Unicode 字体支持。
  • 优点
    • 可调整大小的窗口:可以方便地调整窗口大小以适应不同的需求。
    • 非矩形选择:允许进行非矩形文本选择,方便复制和粘贴。
    • Unicode 字体支持 :能够正确显示非 ASCII 字符,适合处理多种语言的文本。
  • 注意事项Windows 控制台程序(如交互式 Python)需要通过 winpty 启动才能在 MinTTY 中正常工作。

12.2 Use Windows' default console window

  • 描述 :选择此选项后,Git Bash 将使用 Windows 的默认控制台窗口 (cmd.exe) 作为终端模拟器。
  • 优点
    • 兼容性 :与 Windows 系统高度兼容,无需额外配置。
  • 缺点
    • 有限的默认滚动回显:默认滚动回显功能有限。
    • 配置复杂 :需要配置以使用 Unicode 字体来正确显示非 ASCII 字符。
    • 窗口限制 :在 Windows 10 之前,窗口不可自由调整大小,且仅允许矩形文本选择。

13. 选择默认的 git pull 行为(默认即可)

13.1 Default (fast-forward or merge)

  • 描述 :这是 git pull 的标准行为。当可能时,将当前分支快速前进到获取的分支;否则,创建一个合并提交。
  • 优点
    • 灵活性:在大多数情况下,快速前进是首选,但在有冲突时会自动创建合并提交。
    • 兼容性 :这是大多数 Git 用户习惯的行为。

13.2 Rebase

  • 描述:将当前分支重新定位到获取的分支。如果没有任何本地提交需要重新定位,这相当于快速前进。
  • 优点
    • 线性历史:创建一个线性的提交历史,使历史记录更清晰。
    • 冲突处理:在有冲突时,需要手动解决冲突,但最终会有一个更简洁的历史记录。
  • 缺点
    • 复杂性 :对于不熟悉 rebase 的用户来说,可能会增加复杂性。
    • 历史重写:可能会重写历史记录,不适合所有场景。

13.3 Only ever fast-forward

  • 描述:总是快速前进到获取的分支。如果快速前进不可行,则操作失败。
  • 优点
    • 简单性:操作简单,避免了合并提交。
    • 一致性:始终保持快速前进的行为。
  • 缺点
    • 限制性:如果快速前进不可行(例如有冲突),则操作会失败,需要手动处理。

14. 选择凭证帮助程序(默认即可)

14.1 Git Credential Manager

  • 使用跨平台的 Git 凭证管理器(Git Credential Manager)。这个选项会自动保存和管理你的 Git 凭证,使得在不同平台上使用 Git 更加方便。

14.2 None

  • 不使用任何凭证助手。这意味着你需要每次手动输入用户名和密码。

15. 配置额外选项(默认即可)

15.1 Enable file system caching

  • 描述 :启用文件系统缓存。文件系统数据将以批量方式读取并缓存在内存中(core.fscache 设置为 true)。这可以显著提高性能。
  • 优点
    • 性能提升:通过缓存文件系统数据,减少磁盘读取次数,从而提高 Git 操作的速度。
    • 批量处理 :批量读取文件系统数据,减少 I/O 操作。
  • 描述 :启用符号链接(需要 SeCreateSymbolicLink 权限)。请注意,现有仓库不受此设置影响。
  • 优点
    • 符号链接支持 :允许 Git 使用符号链接,这对于某些工作流程和项目结构非常有用。
    • 灵活性:符号链接可以提供更灵活的文件和目录管理。

16. 安装完成

三、测试

bash 复制代码
# 查看Git版本
git version

# 查看Git路径
where git
相关推荐
star@星空6 分钟前
git工作中常用指令
大数据·git·elasticsearch
Json____1 小时前
前端node环境安装:nvm安装详细教程(安装nvm、node、npm、cnpm、yarn及环境变量配置)
前端·windows·npm·node.js·node·nvm·cnpm
helpme流水1 小时前
使用秘钥登录服务器
运维·服务器·github
uhakadotcom1 小时前
Bun相比npm包管理工具有啥优点?
前端·架构·github
小雄abc3 小时前
决定系数R2 浅谈三 : 决定系数R2与相关系数r的关系、决定系数R2是否等于相关系数r的平方
经验分享·笔记·深度学习·算法·机器学习·学习方法·论文笔记
Magnetic_h3 小时前
【iOS】OC高级编程 iOS多线程与内存管理阅读笔记——自动引用计数(三)
笔记·学习·ios·objective-c·cocoa
是小李呀~4 小时前
C盘扩容(亲测有效)
笔记
cwtlw5 小时前
CSS学习记录11
前端·css·笔记·学习·其他
暮已深5 小时前
【RTAB-Map+VINS-Fusion+euroc】(Ubuntu 20.04)三维稠密重建-实践笔记
linux·笔记·ubuntu
cwtlw6 小时前
如何创建maven工程
java·笔记·后端·学习·maven