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

Git 是目前最流行的分布式版本控制系统之一,广泛应用于软件开发和项目管理中。对于 Windows 用户来说,正确安装和配置 Git 是开始使用 Git 的第一步。本文提供一份详细的指南,帮助你在 Windows 系统上顺利安装 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 操作。

15.2 Enable symbolic links

  • 描述:启用符号链接(需要 SeCreateSymbolicLink 权限)。请注意,现有仓库不受此设置影响。
  • 优点
    • 符号链接支持:允许 Git 使用符号链接,这对于某些工作流程和项目结构非常有用。
    • 灵活性:符号链接可以提供更灵活的文件和目录管理。

16. 安装完成

在这里插入图片描述

三、测试

在这里插入图片描述

# 查看Git版本
git version

# 查看Git路径
where git

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/932060.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript编写css自定义属性

一、自定义属性 是在 CSS 中定义的变量,以 --开头。它们可以存储颜色、尺寸、字体等任何 CSS 值,并且可以在整个文档中重复使用。 :root {--primary-color: #3498db;--font-size: 16px; }body {color: var(--primary-color);font-size: var(--font-siz…

项目开发之Jenkins

文章目录 思考基础概述JenkinsMavenGit集成开发部署GitLab服务安装 实战1 新建任务需要的配置pipeline最后 思考 jenkis怎么连接github仓库? jenkis的作用是什么?基础 概述 定义:Jenkins是一款开源的持续集成(Continuous Integration&…

core Webapi jwt 认证

core cookie 验证 Web API Jwt 》》》》用户信息 namespace WebAPI001.Coms {public class Account{public string UserName { get; set; }public string UserPassword { get; set; }public string UserRole { get; set; }} }》》》获取jwt类 using Microsoft.AspNetCore.Mvc…

TCP/IP协议详解(小白)

TCP/IP协议详解 TCP/IP协议包含了一系列的协议,也叫TCP/IP协议族(TCP/IP Protocol Suite,或TCP/IP Protocols),简称TCP/IP。TCP/IP协议族提供了点对点的连结机制,并且将传输数据帧的封装、寻址、传输、路由…

Java项目实战II基于微信小程序的旅游社交平台(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、核心代码 五、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。 一、前言 随着移动互联网的迅猛发展,旅游已经成为人…

jmeter配置

单接口运行没问题,但是批量执行100个线程数发现总是提示请求不合法 最后发现 需要将配置改成 正好回归一下这个配置: Ramp-Up时间(秒)的定义: Ramp-Up时间是指在JMeter测试中,所有指定的线程&#xff08…

SpringBoot 项目如何集成 JWT

SpringBoot 项目如何集成 JWT JWT JSON Web Token (JWT) 是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为 JSON 对象在各方之间安全地传输信息。 在 Oauth2 中,其实就是返回访问令牌 (access_token&#…

【innodb阅读笔记】之 Innodb行记录格式 (Compact 行格式)

一、Innodb行记录格式 innodb 存储引擎同大多数数据库一样,记录是以行的形式存储的。这意味着页中保存的一行行的数据。在 mysql 5.7 版本中,默认格式为 Dynamic,可以通过命令查看当前表的行格式,其中 row_format 表示当前表行记录…

交易所 Level-2 历史行情数据自动化导入攻略

用户部署完 DolphinDB 后,需要将历史股票数据批量导入数据库,再进行数据查询、计算和分析等操作。DolphinDB 开发了 ExchData 模块,主要用于沪深交易所 Level-2 行情原始数据的自动化导入,目前已支持的数据源包括: 沪…

加载内核映像文件

将kernel转换成elf文件格式,不能直接从loader直接跳转到0x100000,需要解析,提取出代码和数据出来,放到0x10000(64kb)的位置,1M的位置只是存放elf文件的位置。 4.10加载内核映像文件2 common/el…

【数字电路与逻辑设计】实验一 序列检测器

文章总览:YuanDaiMa2048博客文章总览 【数字电路与逻辑设计】实验一 序列检测器 一、实验内容二、设计过程(一)作出状态图或状态表(二)状态化简(三)状态编码 三、源代码(一&#xff…

怎么实现邮件营销自动化?

邮件营销能够出色地帮助我们与客户建立良好关系。无论是新客户还是老客户,都可以通过邮件来达成较为良好的客户关系。然而,从消费者的角度来看,每个人都有自己独特的习惯和特点,没有人希望收到千篇一律、营销意味过重的邮件。因此…

【LeetCode: 203. 移除链表元素 + 链表】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

【opencv入门教程】12. 矩阵初始化

文章选自: 一、 数据类型 建立矩阵必须要指定矩阵存储的数据类型,图像处理中常用的几种数据类型如下:包括数据位深度8位、32位,数据类型U:uchar、F:float型以及通道数C1:单通道、C3:三通道、C4&#xff…

Jupyter Notebook认识、安装和启动以及使用

Jupyter Notebook认识、安装和启动以及使用 Jupyter Notebook认识、安装和启动以及使用 Jupyter Notebook认识、安装和启动以及使用一、认识Jupyter Notebook1.1 Jupyter Notebook概述1.2 Jupyter Notebook 重要特性(1)交互式代码执行(2)支持多种编程语言(3)富文本编辑(4)代码高…

SQL语句中AND与OR操作符的优先级问题

在SQL中,当AND和OR操作符同时出现时,优先级的处理可能会导致查询结果与预期不符。为了说明这一问题,我们可以看一个实际的例子。 假设需要查询价格在10美元及以上,且由DLL01或BRS01制造的所有产品。可以使用如下SQL语句&#xff…

FreeRTOS实现UART通信

串口通信 速战速决形式,大家走一遍就通; 本次实验验证: 配置文件 4、打开CubeMX 5、选择芯片型号,然后点击开始项目 6、配置时钟 配置烧录引脚,与FreeRTOS系统时钟 选择FreeRTOS 这里已经默认有一个任务&…

FaRM译文

No compromises: distributed transactions with consistency, availability, and performance Aleksandar Dragojevic, Dushyanth Narayanan, Edmund B. Nightingale, Matthew Renzelmann, Alex Shamis, Anirudh Badam, Miguel Castro Microsoft Research 目录 摘要 1. 引…

Ubuntu22.04深度学习环境安装【Anaconda+Pycharm】

anaconda可以提供多个独立的虚拟环境,方便我们学习深度学习(比如复现论文); Pycharm编辑器可以高效的编写python代码,也是一个很不错的工具。 下面就记录下Ubuntu22.04的安装流程: 1.Anaconda安装 下载Ana…