[笔记] 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

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

五天SpringCloud计划——DAY3之服务治理(Nacos+OpenFeign+OKHttp)

一、引言 在微服务架构中,一个项目通常会被分为多个模块来降低耦合,但是通常情况下,一个项目中总会出现一种情况——一个模块内的方法需要调用另一个模块内的方法。本文就来使用NacosOpenFeignOKHttp帮助大家解决这个问题。 二、Nacos的使用…

go-blueprint create exit status 1

1. 异常信息 2024/12/06 10:59:19 Could not initialize go.mod in new project exit status 1 2024/12/06 10:59:19 Problem creating files for project. exit status 1 Error: exit status 12. 排查思路 手动进行go mod init查看手动的报错解决报错 3. 解决问题 发现是GO11…

Socket编程-tcp

1. 前言 在tcp套接字编程这里,我们将完成两份代码,一份是基于tcp实现普通的对话,另一份加上业务,client输入要执行的命令,server将执行结果返回给client 2. tcp_echo_server 与udp类似,前两步&#xff1…

Python使用Selenium自动实现表单填写之蛇年纪念币蛇钞预约(附源码,源码有注释解析,已测试可用

Python实现纪念币预约自动填写表单 声明:本文只做技术交流,不可用代码为商业用途,文末有源码下载,已测试可用。 Part 1 配置文件改写(源码 有详细的注释说明 读取配置文件,自己组数据库,录入信息 配置文件 Part 2 主函数 每一期的xpath路径都不一样 所以需要提前去网站…

【计算机网络】期末速成(2)

部分内容来源于网络,侵删~ 第五章 传输层 概述 传输层提供进程和进程之间的逻辑通信,靠**套接字Socket(主机IP地址,端口号)**找到应用进程。 传输层会对收到的报文进行差错检测。 比特流(物理层)-> 数据帧(数据链路层) -> 分组 / I…

Vue3网站锚点定位

网站上实现锚点定位的方法有很多&#xff0c;今天介绍vue3实现的定位效果的方式。通过scrollIntoViewh函数的行为&#xff0c;滑动至指定的容器。 一、样式布局 <template> <div style"width: 100%; display: flex;flex-direction: column;"><div …

微信小程序实现图片拖拽调换位置效果 -- 开箱即用

在编写类似发布朋友圈功能的功能时&#xff0c;需要实现图片的拖拽排序&#xff0c;删除图片等功能。 一、效果展示 **博主的小程序首页也采用了该示例代码&#xff0c;可以在威信中搜索&#xff1a;我的百宝工具箱 二、示例代码 1.1、在自己的小程序中创建组件 1.2、组件…

五、docker的网络模式

五、docker的网络模式 5.1 Docker的四种网络模式 当你安装docker时&#xff0c;它会自动创建三个网络&#xff0c;可使用如下命令查看&#xff1a; [rootlocalhost ~]# docker network ls NETWORK ID NAME DRIVER SCOPE 7390284b02d6 bridge bridge lo…

ros项目dual_arm_pick-place(对比moveit配置助手生成的文件)

目录 前言正文gazebo_controllers.yaml变更ros_controllers.yaml变更simple_moveit_controllers.yaml变更moveit_planning_execution.launch变更ros_controllers.launch变更其他文件 汇总总结 前言 在本专栏前文中讲到&#xff0c;作者有moveit配置助手导出的包marmbots&#…

【uni-app 微信小程序】新版本发布提示用户进行更新

知识准备 uni.getUpdateManager文档介绍 不支持APP与H5&#xff0c;所以在使用的时候要做好平台类型的判断&#xff0c;如何判断&#xff0c;参考条件编译处理多端差异 代码参考 export const updateApp () > {const updateManager uni.getUpdateManager()updateManag…

Java-操作xls替换文本或图片

准备xls模板文件&#xff1a;template.xls 要求根据不同的产品型号和图片&#xff0c;插入到模板文件中&#xff0c;然后再填充产品信息。 准备需要替换的图片和数据 功能实现 package net.work.controller.base;import io.swagger.annotations.Api; import io.swagger.annot…

.Net学习

1 什么是.NET Core .NET是开发平台&#xff0c;.NET Framework、.NET Core、Xamaarin/Mono的统称。 .NET Framework是只能在Windows上开发的技术 .NET Core是可以跨平台开发的技术 Xamaarin/Mono是移动端开发的技术 .NET Core&#xff1a;跨平台、免费、开源&#xff0c;可…

半监督学习与数据增强

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

【成功解决:Can‘t uninstall ‘ultralytics‘. No files were found to uninstall.】

问题&#xff1a; 尝试卸载ultralytics时&#xff0c;使用pip uninstall ultralytics命令&#xff0c;已经卸载了ultralytics&#xff0c;但是仍出现Cant uninstall ultralytics. No files were found to uninstall&#xff0c;导致无法卸载干净。 原因 ultralytics相应的dis…

AcWing 3496. 特殊年份

文章目录 前言代码思路 前言 写简单题没啥。反正都是要写的&#xff0c;先把能拿到的分数拿了&#xff0c;之后有机会再去啃一啃硬骨头。啃不下来就算了。 代码 #include<bits/stdc.h> using namespace std; char a1[10],a2[10],a3[10],a4[10],a5[10]; int main(){cin…

MongoDB性能监控工具

mongostat mongostat是MongoDB自带的监控工具&#xff0c;其可以提供数据库节点或者整个集群当前的状态视图。该功能的设计非常类似于Linux系统中的vmstat命令&#xff0c;可以呈现出实时的状态变化。不同的是&#xff0c;mongostat所监视的对象是数据库进程。mongostat常用于…

【LeetCode: 999. 可以被一步捕获的棋子数 + 模拟】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

智创 AI 新视界 -- 优化 AI 模型训练效率的策略与技巧(16 - 1)

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

专业140+总分420+上海交通大学819考研经验上交电子信息与通信工程,真题,大纲,参考书。博睿泽信息通信考研论坛,信息通信考研Jenny

考研结束&#xff0c;专业819信号系统与信号处理140&#xff0c;总分420&#xff0c;终于梦圆交大&#xff0c;高考时敢都不敢想目标&#xff0c;现在已经成为现实&#xff0c;考研后劲很大&#xff0c;这一年的复习经历&#xff0c;还是历历在目&#xff0c;整理一下&#xff…

K8S服务突然中断无法访问:报The node had condition: [DiskPressure]异常

一、背景 程序在运行过程中&#xff0c;突然无法访问&#xff0c;发现后台接口也无法访问&#xff1b;查看kuboard&#xff0c;发现报如下异常&#xff1a;The node had condition: [DiskPressure]. 继续查看磁盘使用率&#xff0c;发现系统盘使用率已经高达93%。问题前后呼应…