Windows11系统中GIT下载

Windows11系统中GIT下载

  • 0、GIT背景介绍
    • 0.0 GIT概述
    • 0.1 GIT诞生背景
    • 0.2 Linus Torvalds 的设计目标
    • 0.3 Git 的诞生(2005 年)
    • 0.4 Git 的后续发展
    • 0.5 为什么 Git 能成功?
  • 1、资源下载地址
    • 1.1 官网资源
    • 1.2 站内资源
  • 2、安装指导
  • 3、验证是否下载完成

0、GIT背景介绍

0.0 GIT概述

Git 是一个分布式版本控制系统(Distributed Version Control System, DVCS),由 Linus Torvalds(Linux 内核创始人)于 2005 年开发,用于高效管理代码版本。它广泛应用于软件开发、文档管理等领域。Git 的诞生源于 Linux 内核开发的实际需求,解决了早期版本控制工具的痛点(如性能、分支管理、分布式协作)。它的成功不仅改变了软件开发方式,还推动了开源社区的蓬勃发展。

0.1 GIT诞生背景

Git 的诞生与 Linux 内核开发的需求直接相关,主要为了解决当时版本控制系统(VCS)的局限性。以下是Git 产生的关键背景和原因:
早期版本控制工具的缺陷
在 Git 出现之前,Linux 内核团队使用 BitKeeper(一个商业分布式版本控制系统),但由于版权和许可问题,2005 年 BitKeeper 收回了免费使用权,导致 Linux 社区急需一个新的版本控制工具。

当时的版本控制系统主要有两类,但都存在明显问题:

(1) 集中式版本控制系统(CVCS)
代表工具:CVS、Subversion(SVN)

问题:

  1. 依赖中央服务器:必须联网才能提交代码,单点故障风险高。

  2. 分支管理笨重:创建和合并分支速度慢,不适合大型项目(如 Linux 内核)。

  3. 性能瓶颈:随着代码量增长,操作变慢。

(2) 分布式版本控制系统(DVCS)
代表工具:BitKeeper(已不可用)、Mercurial(晚于 Git)

优势:

  1. 每个开发者拥有完整的仓库副本,可离线工作;分支操作更高效。

0.2 Linus Torvalds 的设计目标

Linus 对新的版本控制系统提出了严格要求:

  1. 完全分布式:每个开发者本地都有完整历史记录,不依赖中央服务器。

  2. 高性能:

    快速分支切换(Linux 内核需要频繁测试不同功能)。

    高效处理大代码库(Linux 内核代码量庞大)。

  3. 数据完整性:使用 SHA-1 哈希 校验文件内容,防止数据损坏。

  4. 简单而强大的分支模型:鼓励频繁分支和合并,适应开源协作模式。

0.3 Git 的诞生(2005 年)

开发时间:Linus 仅用 2 周 完成了 Git 的第一个版本(2005 年 4 月)。

名字由来:Linus 开玩笑说 Git 是“愚蠢的内容跟踪器”(Global Information Tracker 的缩写,也是英国俚语“饭桶”的意思)。

关键创新:

  1. 快照存储(而非差异存储):每次提交保存文件的完整状态,而非仅记录差异,提高检索速度。

  2. 三阶段设计(工作区、暂存区、仓库):提供更灵活的文件管理。

0.4 Git 的后续发展

2005 年:Git 首次用于 Linux 内核开发。

2008 年:GitHub 上线,推动 Git 成为开源社区的标准工具。

如今:

  1. Git 已成为最流行的版本控制系统,支持几乎所有大型项目(如 Android、Kubernetes、React 等)。

  2. 衍生工具(如 GitHub、GitLab、Bitbucket)进一步扩展了 Git 的协作功能。

0.5 为什么 Git 能成功?

因素说明
分布式架构无单点故障,支持离线工作。
高效的分支管理轻量级分支,适合敏捷开发和并行协作。
数据安全性SHA-1 哈希保证内容完整性,避免历史记录被篡改。
开源和社区支持轻量级分支,适合敏捷开发和并行协作。
适应大规模项目优化后的存储和检索机制,能高效处理数百万行代码。

1、资源下载地址

1.1 官网资源

官网地址
https://git-scm.com/?hl=zh-cn

  1. 点击DownLoads。
    在这里插入图片描述
  2. 选择目前使用的平台,这里我们选择windows。
    在这里插入图片描述
  3. 选择64位的安装下载包
    在这里插入图片描述

1.2 站内资源

站内资源,博主目前用的是这个版本,和最新版本差不多,我的建议还是用这种此新版本,最新版本出问题,我们没有资源和时间去排除解决问题。
https://download.csdn.net/download/qq_58662768/89319457

2、安装指导

  1. 鼠标双击打开安装向导程序。
    在这里插入图片描述
  2. 许可声明,直接点击next。
    在这里插入图片描述
  3. 选择安装路径
    默认为C盘,可以修改,这里不建议放在C盘,修改到其他的盘之后点击Next。
    在这里插入图片描述
  4. 选择组件,勾选添加在桌面上,就是在桌面上添加快捷方式,建议勾选,其他默认勾选的建议不要取消,否则可能造成某些功能不完整。点击Next。
    在这里插入图片描述
  5. 选择开始菜单文件夹
    创建安装程序将在下面的“开始”菜单文件夹中创建程序的快捷方式。继续点击Next。如果要选择其他文件夹可以自行修改。
    在这里插入图片描述
  6. 选择Git使用的默认编辑器
    使用Vim作为Git的默认编辑器,Vim编辑器是Vi编辑器的升级版,一般在Linux系统中使用,虽然功能强大,但很难使用,对新手很不利。其实真正使用的时候用图形化界面就好,非要用命令可以使用Git Bash,所以这里选择默认之后点击NEXT。
    在这里插入图片描述
  7. 调整新存储库中初始分支的名称
    默认创建存储库的初始分支为master,如果修改的话,可以选择第二个点击main,修改为想要的分支名。创建的初始主分支一般都命名为master,有需要后续可通过命令或者图形化界面修改,看个人需求修改,新手建议直接保持默认之后点击NEXT。
    在这里插入图片描述
  8. 调整Path环境。
    Use Git from Git Bash only:“仅从Git Bash只使用Git”。这是最安全的选择,因为PATH根本不会被修改,只能使用 Git Bash 的 Git 命令行工具,但是这将不能通过第三方软件使用。实际工作中,都使用可视化界面提高工作效率,所以不建议使用该配置。
    Git from the command line and also from 3rd-party software:“从命令行以及第三方软件进行Git”。默认这个配置也是被推荐的,被认为是安全的,因为它仅向PATH添加了一些最小的Git包装器,以避免使用可选的Unix工具造成环境混乱。能够从Git Bash,命令提示符和Windows PowerShell以及在PATH中寻找Git的任何第三方软件中使用Git。
    Use Git and optional Unix tools from the Command Prompt:“从命令提示符使用Git和可选的Unix工具”。警告:这将覆盖Windows工具,如“find 和sort ”。只有在了解其含义后才使用此选项。博主不推荐选择这个。
    推荐使用默认配置,点击“Next”按钮进入下一个安装界面。
    在这里插入图片描述
  9. 选择SSH可执行文件

Use bundled OpenSSH:使用Git附带的ssh.exe。
Use external OpenSSH:使用外部OpenSSH,这使用外部ssh.exe。Git不会安装它自己的OpenSSH
(和相关的)二进制文件。
这里博主推荐新手选择Git附带的就好,点击Next。
在这里插入图片描述

  1. 选择HTTPS传输后端

Use the OpenSSL library:使用OpenSSL库,服务器证书将使用ca-bundle.crt文件进行验证。
Use the native Windows Secure Channel library:使用本机Windows安全通道库,服务器证书将使用Windows证书存储进行验证。
这里主要是在HTTPS传输的时候选择使用什么服务器证书,HTTPS未HTTP的加密版本,传输过程中需要证书验证,这里建议点击默认就好了,博主这个地方一直使用默认,不允许GIT功能。选择默认之后点击NEXT。
在这里插入图片描述

  1. 配置行结束转换
    Checkout Windows-style,commit Unix-style line endings:“签出Windows风格,提交Unix风格的行尾”。签出文本文件时,Git会将LF转换为CRLF。提交文本文件时,CRLF将转换为LF。对于跨平台项目,这是Windows上的推荐设置(core.autocrlf”设置为“ true”)。
    Checkout as-is,commit Unix-style line endings:“按原样签出,提交Unix样式的行尾”。签出文本文件时,Git不会执行任何转换。 提交文本文件时,CRLF将转换为LF。对于跨平台项目,这是Unix上的建议设置(“ core.autocrlf”设置为“input”)
    Checkout as-is commit as-is:“按原样签出,按原样提交”。当签出或提交文本文件时,Git不会执行任何转换。不建议跨平台项目选择此选项(“core.autocrlf”设置为“ false”)
    LF(Line Feed)即\n:Unix/Linux、macOS系统下的标准换行符。
    CRLF(Carriage Return + Line Feed):Windows 系统的标准换行符(历史原因:早期打字机需要回车+换行两个动作)。
    选择默认第一种选项,点击“Next”按钮到下一个安装界面。
    在这里插入图片描述

  2. 配置用于Git Bash的终端模拟器
    Use MinTTY(the default terminal of MSYS2):“使用MinTTY(MSYS2的默认终端)”。Git Bash将使用MinTTY作为终端模拟器,该模拟器具有可调整大小的窗口,非矩形选择和Unicode字体。Windows控制台程序(例如交互Python)必须通过“ winpty”启动才能在MinTTY中运行。
    Use Windows’ default console window:“使用Windows的默认控制台窗口”。Git将使用Windows的默认控制台窗(“cmd.exe”),
    该窗口可以与Win32控制台程序(如交互式Python或node.js)一起使用,但默认的回滚非常有限,需要配置为使用unicode 字体以正确显示非ASCII字符,并且在Windows 10之前,其窗口不能自由调整大小,并且只允许矩形文本选择。
    选择默认的第一种选项,点击“Next”按钮进入下一个安装界面。博主认为第一种更好看一点,而且支持的命令种类似乎更多。
    在这里插入图片描述

  3. 选择git pull的默认行为

Fast-forward or merge:默认值,这是“git pull”的标准行为,尽可能将当前分支快速转发到获取的分支,否则创建合并提交。
Rebase:变基,将当前分支复位到获取的分支上。如果没有要重新设置基础的本地提交,这相当于快进。
Only ever fast-forward:只有快进,快进到获取的分支。如果不能获取,则失败。
选择默认的第一种选项,点击“Next”按钮进入下一个安装界面。
在这里插入图片描述

  1. 配置凭证管理器
    Git Credential Manager:Git凭证管理器
    None:无,不要使用凭证管理器
    选择默认的第一种选项,点击“Next”按钮进入下一个安装界面。
    在这里插入图片描述
  2. 配置额外选项

Enable file system caching:“启用文件系统缓存”。文件系统数据将被批量读取并缓存在内存中用于某些操作(“core.fscache”设置为“true”)。 这提供了显著的性能提升。
Enable symbolic links:“启用符号链接”。启用符号链接(需要SeCreateSymbolicLink权限)。请注意,现有存储库不受此设置的影响。
选择第一种选项,点击“Next”按钮进入下一个安装界面。
在这里插入图片描述

  1. 配置实验选项

Enable experimental support for pseudo consoles:启用对伪控制台的实验性支持。
这允许在git bash窗口中运行Node或Python之类的本机控制台程序,而无需使用winpty,但它仍然存在已知的bug。
Enable experimental built-in file system monitor:启用实验性内置文件系统监视器。
自动运行内置的文件系统监视程序,以加速包含许多文件的工作树中的常见操作,如“git
status”、“git add”、“git commit”等,可以根据需要选择,这里都选上了,点击“Install”按钮开始安装。
在这里插入图片描述

  1. 等待安装完成,点击Finish。
    在这里插入图片描述
    到了这一步已经下载完成了,在点击Finish之后可能会跳转到浏览器中,直接叉掉即可。
    在这里插入图片描述

3、验证是否下载完成

鼠标右键单击->显示更多选项->git bash
进入到git bash之后使用查询命令:git version
成功下载会显示如下信息:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

react的fiber 用法

在 React 里,Fiber 是 React 16.x 及后续版本采用的协调算法,它把渲染工作分割成多个小任务,让 React 可以在渲染过程中暂停、恢复和复用任务,以此提升渲染性能与响应能力。在实际开发中,你无需直接操作 Fiber 节点&am…

FPGA前瞻篇-数字电路基础-逻辑门电路设计

模拟信号: 一条随时间连续变化、平滑波动的曲线,比如正弦波。 数字信号: 一条只有高低两个状态(0和1),跳变清晰的方波曲线。 在 IC 或 FPGA 的逻辑设计中,我们通常只能处理数字信号&#xff0…

RabbitMQ 基础概念(队列、交换机、路由键、绑定键、信道、连接、虚拟主机、多租户)介绍

本文是博主在梳理 RabbitMQ 知识的过程中,将所遇到和可能会遇到的基础知识记录下来,用作梳理 RabbitMQ 的整体架构和功能的线索文章,通过查找对应的知识能够快速的了解对应的知识而解决相应的问题。 文章目录 一、RabbitMQ 是什么&#xff1f…

机器学习第一篇 线性回归

数据集:公开的World Happiness Report | Kaggle中的happiness dataset2017. 目标:基于GDP值预测幸福指数。(单特征预测) 代码: 文件一:prepare_for_traning.py """用于科学计算的一个库…

Java面试高频问题(29-30)

二十九、全链路压测:数据隔离与流量 关键技术点 1. 流量染色:通过Header注入X-Test-TraceId标识压测流量 2. 影子库表:通过ShardingSphere实现数据隔离 3. 熔断降级:压测流量触发异常时自动切换回生产数据源 数据隔离方案对比 …

Python常用的第三方模块之数据分析【pdfplumber库、Numpy库、Pandas库、Matplotlib库】

【pdfplumber库】从PDF文件中读取内容 import pdfplumber #打开PDF文件 with pdfplumber.open(DeepSeek从入门到精通(20250204).pdf) as pdf:for i in pdf.pages: #遍历页print(i.extract_text()) #extract_text()方法提取内容print(f----------------第{i.page_number}页结束…

长短板理论——AI与思维模型【83】

一、定义 长短板理论思维模型,也被称为木桶原理,是指一只木桶能盛多少水,并不取决于最长的那块木板,而是取决于最短的那块木板。该理论将木桶视为一个整体系统,各个木板代表着系统的不同组成部分或要素,强…

2025蓝桥省赛c++B组第二场题解

前言 这场的题目非常的简单啊,至于为什么有第二场,因为当时河北正在刮大风被迫停止了QwQ,个人感觉是历年来最简单的一场,如果有什么不足之处,还望补充。 试题 A: 密密摆放 【问题描述】 小蓝有一个大箱子&#xff0…

【数据结构与算法】从完全二叉树到堆再到优先队列

完全二叉树 CBT 设二叉树的深度为 h , 若非最底层的其他各层的节点数都达到最大个数 , 最底层 h 的所有节点都连续集中在左侧的二叉树叫做 完全二叉树 . 特点 对任意节点 , 其右分支下的叶子节点的最底层为 L , 则其左分支下的叶子节点的最低层一定是 L 或 L 1 .完全二叉树…

Leetcode:1. 两数之和

题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。 你可以按任意顺序返回答案。 示…

flume整合kafka

需求一: 启动flume 启动kafka消费者,验证数据写入成功 新增测试数据 需求二: 启动Kafka生产者 启动Flume 在生产者中写入数据

Hbase集群管理与实践

一、HBase集群搭建实战 1.1 环境规划建议 硬件配置基准(以10节点集群为例): 角色CPU内存磁盘网络HMaster4核16GBSSD 200GB(系统盘)10GbpsRegionServer16核64GB124TB HDD(JBOD)25GbpsZooKeeper4核8GBSSD 500GB10Gbps1.2 关键配置项示例(hbase-site.xml) <configu…

STM32 开发 - stm32f10x.h 头文件(内存映射、寄存器结构体与宏、寄存器位定义、实现点灯案例)

概述 STM32F10x.h 是 STM32F1 系列微控制器的核心头文件&#xff0c;提供了所有外设寄存器的定义和内存映射 一、内存映射 #define PERIPH_BASE ((uint32_t)0x40000000)#define APB1PERIPH_BASE PERIPH_BASE #define APB2PERIPH_BASE (PERIPH_BASE 0x…

QEMU源码全解析 —— 块设备虚拟化(23)

接前一篇文章:QEMU源码全解析 —— 块设备虚拟化(22) 本文内容参考: 《趣谈Linux操作系统》 —— 刘超,极客时间 《QEMU/KVM源码解析与应用》 —— 李强,机械工业出版社 特此致谢! QEMU启动过程中的块设备虚拟化 上一回解析了qcow2格式对应的qcow2_open函数,本回解…

【PCB工艺】推挽电路及交越失真

推挽电路(Push-Pull Circuit) 推挽电路(Push-Pull Circuit) 是一种常用于功率放大、电机驱动、音频放大等场合的电路结构,具有输出对称、效率高、失真小等优点。 什么是推挽电路? 推挽是指:由两种极性相反的器件(如 NPN 和 PNP、NMOS 和 PMOS)交替导通,一个“推”电…

RD电子实验记录本选用贴士A-B-C

传统的实验记录本&#xff0c;令人又爱又恨本 如何挑选电子实验室记录本&#xff08;ELN&#xff09;的品牌/服务商/供应商&#xff1f; 电子实验记录本&#xff0c;又名为ELN&#xff0c;Electronic lab notebook&#xff0c;enotebook&#xff0c;研发电子管理系统&#xf…

Qt实战之将自定义插件(minGW)显示到Qt Creator列表的方法

Qt以其强大的跨平台特性和丰富的功能&#xff0c;成为众多开发者构建图形用户界面&#xff08;GUI&#xff09;应用程序的首选框架。而在Qt开发的过程中&#xff0c;自定义插件能够极大地拓展应用程序的功能边界&#xff0c;让开发者实现各种独特的、个性化的交互效果。想象一下…

java基础之枚举和注解

枚举 简介 枚举&#xff1a;enumeration&#xff0c;jdk1.5中引入的新特性&#xff0c;用于管理和使用常量 入门案例 第一步&#xff1a;定义枚举&#xff0c;这里定义一个动物类&#xff0c;里面枚举了多种动物 public enum AnimalEnum {CAT, // 猫DOG, // 狗PIG // …

2.3java运算符

运算符 1. 算术运算符 算术运算符用于执行基本的数学运算&#xff0c;像加、减、乘、除等。 运算符描述示例加法int a 5 3; // a 的值为 8-减法int b 5 - 3; // b 的值为 2*乘法int c 5 * 3; // c 的值为 15/除法int d 6 / 3; // d 的值为 2%取模&#xff08;取余&…

升级 Spring Boot CLI

&#x1f31f; 升级 Spring Boot CLI 1️⃣ &#x1f504; 通过包管理器升级 使用对应包管理器命令&#xff08;如 brew upgrade&#xff09; 2️⃣ &#x1f4e5; 手动安装升级 遵循 标准安装说明 注意更新 PATH 环境变量移除旧版本路径 &#x1f517; 链接原文&#xff1a…