当前位置: 首页 > news >正文

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
成功下载会显示如下信息:
在这里插入图片描述

相关文章:

  • 【2025最新面试八股常问知识点】HTTP1.0,HTTP1.1,HTTP2.0,HTTP3.0,HTTP的进化之路。
  • TI---sysconfig生成宏
  • PyQt6实例_消息工具_使用与完整代码分享
  • 牛客:BM1 反转链表
  • 4.26 数据交互升级引入配置文件
  • JBoss Web 安全问题实战总结(Session / CSP / Host Header)
  • threejs 零基础学习day01
  • Tauri文件系统操作:桌面应用的核心能力(入门系列四)
  • 深入理解N皇后问题:从DFS到对角线优化
  • Linux | Mfgtools 修改单独只烧写 Uboot,内核,文件系统
  • 用python写一个相机选型的简易程序
  • 视觉大模型专栏导航
  • 可视化大屏开发前提了解
  • MySQL 分布式架构与实战:从单机到集群的进阶之路(附生产级架构设计)
  • Spring AI Alibaba - Milvus 初体验,实现知识库效果
  • QT6 源(51)篇一:存储 c 语言字符串的类 QByteArray 的使用举例,采用 ascii 码字符集。函detach()的调用时机,
  • 【SSH 端口转发】通过SSH端口转发实现访问远程服务器的 tensorboard
  • 学习笔记——《Java面向对象程序设计》-内部类、匿名类、异常类
  • rsync+ Rocky Linux 主机同步部署实战
  • 4月26日星期六今日早报简报微语报早读
  • 谢震业、梁小静等名将在列,世界田联接力赛中国队名单出炉
  • 上海论坛2025年会聚焦创新的时代,9份复旦智库报告亮相
  • 驻美国使馆发言人就美方希就关税问题与中方对话答记者问
  • 体坛联播|皇马上演罢赛闹剧,杨瀚森宣布参加NBA选秀
  • 一季度煤价持续下探,多家煤炭巨头营收下滑、净利润降约两成
  • “网红”谭媛去世三年:未停更的账号和困境中的家庭