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.pswp.cn/pingmian/78367.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/78367.shtml
英文地址,請注明出處:http://en.pswp.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…