【Git】2025全图文详解安装教程

目录

[一、Git 的下载](#一、Git 的下载)

[二、Git 的安装](#二、Git 的安装)

[2.1 使用许可声明](#2.1 使用许可声明)

[2.2 选择安装目录](#2.2 选择安装目录)

[2.3 选择安装组件](#2.3 选择安装组件)

[2.4 选择开始菜单文件夹](#2.4 选择开始菜单文件夹)

[2.5 选择 Git 默认编辑器](#2.5 选择 Git 默认编辑器)

[2.6 决定初始化新项目(仓库)的主干名字](#2.6 决定初始化新项目(仓库)的主干名字)

[2.7 选择Git使用方式](#2.7 选择Git使用方式)

[2.8 选择SSH执行文件](#2.8 选择SSH执行文件)

[2.9 选择HTTPS后端传输](#2.9 选择HTTPS后端传输)

[2.10 配置行尾符号转换](#2.10 配置行尾符号转换)

[2.11 配置终端模拟器以与 Git Bash 一起使用](#2.11 配置终端模拟器以与 Git Bash 一起使用)

[2.12 选择默认的 "git pull" 行为](#2.12 选择默认的 “git pull” 行为)

[2.13 选择一个凭证帮助程序](#2.13 选择一个凭证帮助程序)

[2.14 配置额外的选项](#2.14 配置额外的选项)

[2.15 安装成功](#2.15 安装成功)

[三、Git 的功能介绍](#三、Git 的功能介绍)

[3.1 Git Bash](#3.1 Git Bash)

[3.2 Git CMD](#3.2 Git CMD)

[3.3 Git FAQs](#3.3 Git FAQs)

[3.4 Git GUI](#3.4 Git GUI)

[3.5 Git Release Note](#3.5 Git Release Note)



一、Git 的下载

这个就需要去 Git 官网下载对应系统的软件

下载地址为: Git 或者Git for Windows,或者阿里镜像(CNPM Binaries Mirror

第1个是 Git 的官方,里面有不同系统不同平台的安装包和源代码;

第2个Git for windows 只有 windows 系统的安装包;

第3个阿里镜像直接Ctrl+F 搜索最新版本前缀即可,如2.40.0;

**说明:**如果有代理可用前两种,如果没有就用第3个国内阿里云镜像进行下载;


二、Git 的安装

我这里选用的是从阿里云镜像进行下载,这种方式对于国内用户也比较友好。

我下载的版本是Git-2.51.2-64-bit.exe,接下来我们就对这个版本进行安装工作。

2.1 使用许可声明

双击下载后的 Git-2.51.2-64-bit.exe,开始安装,这个界面主要展示了 GPL 第 2 版协议1的内容,点击 【next】 到第二步。


2.2 选择安装目录

可点击 **"Browse..."**更换目录,也可直接在方框里面改,软件类我一般直接将 "C" 改为 "D",这样就直接安装在 D 盘里了,总而言之,怎么方便管理文件怎么来,别放C盘就行 。点击 【next】 到第三步。


2.3 选择安装组件

图中这些英文都比较简单,我已经把大概意思翻译出来了,大家根据自己的需要选择勾选。点击 【next】到第四步。(一般保持默认即可)

注:倒数第二个选项打勾的话,需要下载 Windows Terminal 配合 Git Bash使用,如图:


2.4 选择开始菜单文件夹

方框内 Git 可改为其他名字,也可点击 **"Browse..."选择其他文件夹或者给"Don't create a Start Menu folder"**打勾不要文件夹。一般保持默认,点击 【next】到第五步。


2.5 选择 Git 默认编辑器

这里根据自身对vim的熟悉程度,选择是否更换;

如果不知道怎么选,可以先默认【next】,后续通过命令进行更换;

复制代码
# 设置 VS Code 为默认编辑器
git config --global core.editor "code --wait"

# 或设置 Notepad++
git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

# 或设置 Sublime Text
git config --global core.editor "'C:/Program Files/Sublime Text/sublime_text.exe' -w"

说明

不推荐选择 Vim:

  • Vim 对新手不友好,学习曲线陡峭

  • 界面不直观,操作复杂

  • 容易在编辑时卡住不知道如何退出

选择 "Next" 的好处:

  1. 保持灵活性:Git 会使用系统环境变量中的编辑器

  2. 后续可配置:安装完成后可以轻松设置你喜欢的编辑器

  3. 避免使用 Vim:除非你熟悉 Vim,否则不推荐

如果你不想用 Vim 当默认编辑器,换一个,比如 Notepad++ ,那么你者需要点击下面的蓝色字体 " Notepad++ " 去其官网下载安装好才能进行下一步 [next].

安装后还要配置在我的电脑->属性->高级系统设置->高级->环境变量->系统变量->Path->编辑添加 Notepad++ 的安装地址,如C:\Program Files\notepad++.

这样才能在 Git Bash 里面直接调用 Notepad++.

复制代码
$ notepad++ 文件名.后缀  //在 git bash 调用 notepad++ 打开文件

新手建议使用 Notepad++Sublime Text,这两个比 Windows 自带的记事本功能多太多了。点击 [next] 到第六步。


2.6 决定初始化新项目(仓库)的主干名字

推荐设置:

  1. 选择第二个选项:"Override the default branch name for new repositories"

  2. 在输入框中保持 main(这是默认填好的)

翻译后图示:

【为什么推荐 main?】

行业趋势:

  • main 是现代标准 :GitHub、GitLab 等平台的新建仓库默认使用 main

  • 社区共识 :大多数新项目都使用 main 作为默认分支名

  • 包容性考虑 :避免了 master 可能带来的历史包袱

优势:

  • ✅ 与主流代码托管平台保持一致

  • ✅ 符合现代开发实践

  • ✅ 新团队协作时更易理解

  • ✅ 不影响现有仓库(只对新仓库生效)


2.7 选择Git使用方式

默认【next】即可

说明

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

  • ✅ 可以在 Git Bash、CMD、PowerShell 中使用 Git 命令

  • ✅ 第三方软件(如 VS Code、IDEA 等)也能识别 Git

  • ✅ 不会覆盖 Windows 系统命令

  • 这是最适合大多数用户的选择


⚠️ 其他选项:

"Use Git from Git Bash only"

  • ❌ 只能在 Git Bash 中使用 Git 命令

  • ❌ CMD、PowerShell 中无法直接使用 git 命令

  • ❌ 某些开发工具可能找不到 Git

"Use Git and optional Unix tools from the Command Prompt"

  • ⚠️ 不推荐,除非你明确知道后果

  • ❌ 会覆盖 Windows 系统命令(如 findsort

  • ❌ 可能导致某些脚本或工具异常

  • 一句话,适合比较懂的人折腾。


翻译后图示:


2.8 选择SSH执行文件

保持默认捆绑的SSH执行文件,直接点【Next】即可

【注意】这是一个新版块,老版本没有这个

说明

✅ 推荐选项:

"Use bundled OpenSSH"

  • ✅ Git 自带完整的 SSH 客户端

  • ✅ 开箱即用,无需额外配置

  • ✅ 与 Git for Windows 完美兼容

  • ✅ 适合绝大多数用户

  • 这是最安全、最稳定的选择

🔧 另一个选项:

"Use external OpenSSH"

  • ⚠️ 使用系统已有的 SSH 客户端

  • ⚠️ 需要确保系统已正确安装 OpenSSH

  • ⚠️ 可能遇到版本兼容性问题

  • ⚠️ 只推荐给明确知道自己在做什么的高级用户


翻译后图示:


2.9 选择HTTPS后端传输

个人使用 选"Use the OpenssL library",

企业组织使用 选择"Use the native Windows Secure Channel library"

翻译图示如下:


如何选择?

▲如果在具有企业管理证书的组织中使用 Git,则将需要使用安全通道。

▲如果你仅使用 Git 来访问公共存储库(例如 GitHub ),或者你的组织不管理自己的证书,那么使用 SSL 后端(它们只是同一协议的不同实现)就可以了。


这两种选项有什么区别

来自:git - What's the difference between OpenSSL and the native windows Secure Channel library - Stack Overflow

也就是说,作为普通用户,只是用 Git 来访问 Github、GitLab 等网站,选择前者就行了。点击 [next] 到第十步。


2.10 配置行尾符号转换

翻译图示如下:

这三种选择分别是:
签出 Windows 样式,提交 Unix 样式的行结尾。
按原样签出,提交Unix样式的行结尾。
按原样签出,按原样提交。


那 Windows 样式和 Unix 样式到底有什么区别呢?

引用 《GitHub入门与实践》 第 50 页内容:

▲GitHub 中公开的代码大部分都是以 Mac 或 Linux 中的 LF(Line Feed)换行。然而,由于 Windows 中是以 CRLF(Carriage Return+ Line Feed)换行的,所以在非对应的编辑器中将不能正常显示。

▲Git 可以通过设置自动转换这些换行符。使用 Windows 环境的各位,请选择推荐的 "Checkout Windows-style,commit Unix-style line endings" 选项。换行符在签出时会自动转换为 CRLF,在提交时则会自动转换为 LF .

上面说 Mac 、Linux、Unix 的 Line Feed ,翻译过来就是换行符,用 "\n" 表示,换行符 "\n" 的 ASCII 值为10;

Windows 的是 Carriage Return+ Line Feed(回车+换行),用 "\r\n" 表示,回车符 "\r" 的 ASCII 值为13;

这上下两者是不一样的。

所以这就需要转换了,至于为什么选第一项?

这还用问吗?我们现在的教程就是介绍怎么安装 Windows 版 Git,肯定选第一项啦

至于 "回车"(carriage return)和 "换行"(line feed)这两个概念的来历和区别?

引用一下 阮一峰老师博客的部分内容【回车和换行 - 阮一峰的网络日志

复制代码
在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)
的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打字机打完一行
换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又
有新的字符传过来,那么这个字符将丢失。

于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束
的字符。一个叫做"回车",告诉打字机把打印头定位在左边界;另一个叫做
"换行",告诉打字机把纸向下移一行。

更多资料参考:

1、腾讯云 - 换行符 '\n' 和 回车符 '\r' 的区别?

https://cloud.tencent.com/developer/article/1353286

2、知乎 - 为什么会用\r\n两个字符表示换行?[https://www.zhihu.com/question/29326647\]

3、Stackoverflow - What are carriage return, linefeed, and form feed?

https://stackoverflow.com/questions/3091524/what-are-carriage-return-linefeed-and-form-feed

点击 [next] 到第十一步。


2.11 配置终端模拟器以与 Git Bash 一起使用

翻译图示如下:

建议选择第一种:

MinTTY 3功能比 cmd 多,cmd 只不过 比 MinTTY 更适合处理 Windows 的一些接口问题,这个对 Git 用处不大,除此之外 Windows 的默认控制台窗口(cmd)有很多劣势,比如 cmd 具有非常有限的默认历史记录回滚堆栈和糟糕的字体编码等等。


"Use MinTTY (the default terminal of MSYS2)"

  • ✅ 更好的用户体验:可调整窗口大小,文本选择更灵活

  • ✅ 更好的 Unicode 支持:正确显示各种语言字符

  • ✅ 更好的滚动和复制粘贴体验

  • 这是 Git Bash 的原生终端,集成度最好

⚠️ 另一个选项:

"Use Windows' default console window"

  • ❌ 滚动缓冲区有限

  • ❌ 需要手动配置 Unicode 字体

  • ❌ 在旧版 Windows 中窗口调整大小受限

  • ⚠️ 唯一优势:直接支持 Windows 控制台程序(如 Python、Node.js)

🤔 为什么推荐 MinTTY?

  1. 现代化体验:类似 Linux/macOS 终端的体验

  2. 更好的兼容性:对 Git 操作和开发工具支持更好

  3. Unicode 支持:无需额外配置就能显示中文等特殊字符

  4. 操作便利:复制粘贴、滚动等操作更顺畅

相比之下,MinTTY 具有可调整大小的窗口和其他有用的可配置选项,可以通过右键单击的工具栏来打开它们 git-bash 。点击 [next] 到第十二步。


2.12 选择默认的 "git pull" 行为

翻译试图如下:


"git pull" 是什么意思呢?

git pull 就是获取最新的远程仓库分支到本地,并与本地分支合并

上面给了三个 "git pull" 的行为:

第一个是merge

第二个是 rebase

第三个是 直接获取

第一种 git pull = git fetch + git merge

第二种 git pull = git fetch + git rebase

第三种git pull = git fetch ?(这个没试过,纯属猜测

一般默认选择第一项,git rebase 绝大部分程序员都用不好或者不懂,而且风险很大,但是很多会用的人也很推崇,但是用不好就是灾难。

git pull 只是拉取远程分支并与本地分支合并,而 git fetch 只是拉取远程分支,怎么合并,选择 merge 还是 rebase ,可以再做选择。

更多参考资料:

1、知乎 - git pull 和 git fetch的区别?

https://www.zhihu.com/question/38305012

2、知乎 - 在开发过程中使用 git rebase 还是 git merge,优缺点分别是什么?

https://www.zhihu.com/question/36509119

3、Stackoverflow - Why does git perform fast-forward merges by default?

https://stackoverflow.com/questions/2850369

4、Stackoverflow - In git how is fetch different than pull and how is merge different than rebase?

https://stackoverflow.com/questions/14894768/

5、Stackoverflow - Difference between git pull and git pull --rebase

https://stackoverflow.com/questions/18930527


2.13 选择一个凭证帮助程序

翻译如下:


一共两个选项:

Git 凭证管理

不使用凭证助手

第一个选项是提供登录凭证帮助的,Git 有时需要用户的凭据才能执行操作;例如,可能需要输入用户名密码才能通过 HTTP 访问远程存储库(GitHub,GItLab 等等)。


强烈推荐选项

"Git Credential Manager"

  • 自动管理凭证:记住你的 GitHub、GitLab 等账号密码

  • 安全存储:使用安全的加密方式保存凭证

  • 跨平台支持:Windows、macOS、Linux 都适用

  • 支持多种认证方式:包括个人访问令牌、OAuth 等

  • 避免重复输入:一次登录,长期有效

▲另一个选项:

"None"

  • ❌ 不保存任何凭证信息

  • ❌ 每次推送/拉取代码都需要重新输入账号密码

  • ❌ 使用不便,特别是频繁操作远程仓库时

  • ⚠️ 只适合在高度安全要求的特殊环境中使用

▲为什么推荐 Git Credential Manager?

  1. 开发效率:不用每次操作远程仓库都输入凭证

  2. 安全性:比在配置文件中明文存储密码安全得多

  3. 现代化:GitHub 等平台已推荐使用个人访问令牌替代密码

  4. 便捷性:自动处理令牌刷新和认证流程

▲实际使用场景:

  • 克隆私有仓库时自动认证

  • 推送代码到远程仓库无需重复登录

  • 安全地管理多个 Git 服务的凭证

点击 [next] 进到十四步。


2.14 配置额外的选项

操作建议:

两个复选框都勾选 → 点击 Install

这样配置既能获得最佳性能,又能确保对现代开发工具的完全兼容。

翻译图示如下


有两个选项:
▲启用文件系统缓存
▲启用符号链接

启用文件系统缓存就是将批量读取文件系统数据并将其缓存在内存中以进行某些操作,可以显著提升性能。这个选项默认开启。

启用符号链接,符号链接是一类特殊的文件, 其包含有一条以绝对路径或者相对路径的形式指向其它文件或者目录的引用,类似于 Windows 的快捷方式,不完全等同 类Unix(如 Linux) 下的 符号链接。因为该功能的支持需要一些条件,所以默认不开启。


推荐勾选

"Enable file system caching"

  • 性能提升:大幅加快 Git 操作速度

  • ✅ 批量读取文件系统数据并缓存到内存

  • ✅ 对大仓库和频繁操作特别有益

  • 强烈推荐开启

推荐勾选

"Enable symbolic links"

  • 符号链接支持:允许创建类似快捷方式的文件链接

  • 现代开发需要:很多前端工具链(如 npm、pnpm)会使用符号链接

  • 不影响现有仓库:只对新操作生效

  • ✅ 虽然需要特殊权限,但 Git for Windows 会处理


🤔 为什么两个都推荐?

  1. 性能考虑:文件系统缓存能显著提升 Git 操作速度

  2. 兼容性考虑:符号链接是现代开发工具的常见需求

  3. 未来准备:即使现在用不到,开启这些功能也不会对现有项目造成影响

🔧 使用场景:

  • 文件系统缓存:任何规模的代码仓库都会受益

  • 符号链接

    • 使用 npm、yarn、pnpm 等包管理器时

    • 某些框架的开发环境

    • 创建文件链接的组织结构

⚠️ 注意事项:

  • 符号链接需要管理员权限才能创建,但普通使用不受影响

  • 这两个选项都可以在安装后通过 Git 配置修改

点击 [install] 开始安装。


2.15 安装成功

安装成功后在开始菜单里的图如下:


三、Git 的功能介绍

Git Bash、Git CMD、Git FAQs、Git GUI、Git Release Note

面我们就分别介绍一下这几个。

3.1 Git Bash

Git Bash 是基于CMD的,在CMD的基础上增添一些新的命令与功能,平时主要用这个,功能很丰富,长这样:


3.2 Git CMD

Git CMD 不能说和 cmd 完全一样,只能说一模一样,功能少得可怜,两者如下图:


3.3 Git FAQs

Git FAQs 就是 Git Frequently Asked Questions(常问问题),访问地址:https://github.com/git-for-windows/git/wiki/FAQ


3.4 Git GUI

Git GUI 就是 Git 的图形化界面,如下图:

可以通过它快速创建新仓库(项目),克隆存在的仓库(项目),打开存在的仓库(仓库)。这个我用的很少,建议还是用命令行学习Git。


3.5 Git Release Note

Git Release Note就是版本说明,增加了什么功能,修复了什么 bug 之类的。

1.廖雪峰-Git教程 [访问量: 30941698172,新手必看]

简介 - Git教程 - 廖雪峰的官方网站

2.GitHub入门与实践 [密码:7aik,电子书,特别棒的入门书籍,2年后的感悟,强烈建议看这个] ​​​​​​​GitHub入门与实践.pdf

2.git-简明指南 [图形化模式,简单易懂]

git - the simple guide - no deep shit!

3.图解Git [一样是图形化教程]

图解Git

4.Git的奇技淫巧 [GitHub 14.9k stars]

521xueweihan/git-tips: :trollface:Git的奇技淫巧

5.git-cheatsheeth [图形化 Git 命令的作用域]

index :: Git Cheatsheet :: NDP Software

写作本文参考资料:

1、Windows系统Git安装教程(详解Git安装过程)[Windows系统Git安装教程(详解Git安装过程) - 学为所用 - 博客园]

2、Git安装教程(详细)[Git安装教程(详细) - 简书]

相关推荐
无限进步_3 小时前
C语言atoi函数实现详解:从基础到优化
c语言·开发语言·c++·git·后端·github·visual studio
地球没有花18 小时前
gitlab cicd首次操作
运维·git·ci/cd·gitlab
无限进步_1 天前
【C语言】贪吃蛇游戏设计思路深度解析:从零开始理解每个模块
c语言·开发语言·c++·git·游戏·github·visual studio
达子6661 天前
git使用应用实战大全
git
P***25392 天前
Git教程
git
Slow菜鸟2 天前
Java 开发环境安装指南(五) | Git 安装
java·git
计算衎2 天前
Git 命令 作用、常用选项、示例、何时使用与注意事项指南
git·源代码管理
小生不才yz2 天前
(三)分支与合并 - git cherry-pick 命令的使用
git
hadage2332 天前
--- git 笔记 ---
笔记·git·elasticsearch