Git保姆级别的安装教程

Git保姆级别的安装教程
https://blog.csdn.net/m0_48170265/article/details/129303254
文章目录
一、Git下载
二、Git 的安装

  1. 用户许可声明
  2. 选择安装目录
  3. 选择安装组件
  4. 选择开始菜单文件夹
  5. 选择默认编辑器
  6. 决定初始化新项目(仓库)的主干名字
  7. 调整 path 环境变量
  8. 选择 SSH 执行文件
  9. 选择HTTPS后端传输
  10. 配置行尾符号转换
  11. 配置终端模拟器以与 Git Bash 一起使用
  12. 选择默认的 “git pull” 行为
  13. 选择一个凭证帮助程序
  14. 配置额外的选项
  15. 配置实验性选项
  16. 安装成功:
    一、Git下载
    Git工具官网:https://git-scm.com/downloads

点击下载(官网下载可能会比较慢,下面有淘宝镜像):

所有东西下载慢的话就可以去找镜像!

官网下载太慢,我们也可以使用淘宝镜像下载:CNPM Binaries Mirror
比如可以选择:v2.37.3.windows.1

二、Git 的安装

  1. 用户许可声明
    双击下载后的 Git-2.37.3-64-bit.exe ,开始安装,界面主要展示了 GPL 第 2 版协议1的内容,点击 next

  2. 选择安装目录
    可点击 Browse… 更换目录,也可直接在方框里面改,再点击 next

  3. 选择安装组件
    图中这些英文都比较简单,大家根据自己的需要选择勾选。

ps:最后一个选项打勾的话,需要下载 Windows Terminal 配合 Git Bash使用,如图:

  1. 选择开始菜单文件夹
    方框内中的Git 可改为其他名字,也可点击 Browse…” 选择其他文件夹或者给 Don’t create a Start Menu folder 打勾不要文件夹,但建议直接点击 next

  2. 选择默认编辑器
    Git 安装程序里面内置了 10 种编辑器供你挑选,如: Atom、Notepad、Notepad++、Sublime Text、Visual Studio Code、Vim 等等,默认的是 Vim ,选择 Vim 后可以直接进行到下一步,但是 Vim 是纯命令行,操作有点难度,需要学习。如果选其他编辑器,则还需要去其官网安装好后才能进行下一步。

如果你不想用 Vim 当默认编辑器,换一个,比如 Notepad++ ,那么你则需要点击下面的蓝色字体 " Notepad++ " ==去其官网下载安装好才能进行下一步 ==.

在这里,我选择使用notepad++(若未安装好Notepad++,此处next为灰)

Notepad++ 官网(建议谷歌浏览器打开):https://notepad-plus-plus.org/

安装后还要配置:在我的电脑->属性->高级系统设置->高级->环境变量->系统变量->Path->编辑添加 Notepad++ 的安装地址,
如: D:\programmeTools\Notepp++x64\Notepad++.

这样才能在 Git Bash 里面直接调用 Notepad++.
$ notepad++ 文件名.后缀 //在 git bash 调用 notepad++ 打开文件

新手建议使用 Notepad++ 、Sublime Text,这两个比 Windows 自带的记事本功能强太多了。

  1. 决定初始化新项目(仓库)的主干名字
    有两种选择:
    第一种是让 Git 自己选择,名字是 master ,但未来也有可能会改为其他名字;
    第二种是我们自行决定,默认是 main,当然,你也可以改为其他的名字。一般默认第一种

注: 第二个选项下面有个 NEW! ,说很多团队已经重命名他们的默认主干名为 main . 这是因为2020 年非裔男子乔治·弗洛伊德因白人警察暴力执法惨死而掀起的 Black Lives Matter(黑人的命也是命)运动,很多人认为 master 不尊重黑人,呼吁改为 main.

  1. 调整 path 环境变量

大意如下:

Use Git from Git Bash only
This is the most cautious choice as your PATH will not be modified at all. You w only be able to use the Git command line tools from Git Bash.
仅从 Git Bash 使用 Git
这是最谨慎的选择,因为您的 PATH 根本不会被修改。您将只能使用 Git Bash 中的 Git 命令行工具。

Git from the command line and also from 3rd-party software
(Recommended) This option adds only some minimal Git wrappers to your PATH to avoid cluttering your environment with optional Unix tools.
You will be able to use Git from Git Bash, the Command Prompt and the Windov PowerShell as well as any third-party software looking for Git in PATH.
从命令行以及第三方软件进行 Git
(推荐)此选项仅将一些最小的 Git 包装器添加到PATH中,以避免使用可选的 Unix 工具使环境混乱。
您将能够使用 Git Bash 中的 Git,命令提示符和 Windov PowerShell 以及在 PATH 中寻找 Git 的任何第三方软件。

Use Git and optional Unix tools from the Command Prompt
Both Git and the optional Unix tools will be added to your PATH.
Warning: This will override Windows tools like "find"and “sort”. Only use this option if you understand the implications.
使用命令提示符中的 Git 和可选的 Unix 工具
Git 和可选的 Unix 工具都将添加到您的 PATH 中。
警告:这将覆盖 Windows 工具,例如 “find” and “sort”. 仅在了解其含义后使用此选项。

第一种是仅从 Git Bash 使用 Git。就是你只能通过 Git 安装后的 Git Bash 来使用 Git ,其他的什么命令提示符啊等第三方软件都不行。

第二种是从命令行以及第三方软件进行 Git。这个是在第一种基础上进行第三方支持,你将能够从 Git Bash,命令提示符(cmd) 和 Windows PowerShell 以及可以从 Windows 系统环境变量中寻找 Git 的任何第三方软件中使用 Git。(推荐使用这个)

第三种是从命令提示符使用 Git 和可选的 Unix 工具。选择这种将覆盖 Windows 工具,如 “ find 和 sort ”。只有在了解其含义后才使用此选项。总之,适合比较懂的大佬。

  1. 选择 SSH 执行文件

大意如下:

Use bundled OpenSSH
This uses ssh. exe that comes with Git.
使用捆绑的 OpenSSH
这使用的 ssh.exe 是 Git 自带的

Use external OpenSSH
NEW! This uses an external ssh. exe. Git will not install its own OpenSSH
(and related) binaries but use them as found on the PATH.
使用外部 OpenSSH
新!这使用外部 ssh.exe 文件。
Git 不会安装自己的 OpenSSH(和相关)二进制文件,而是使用在环境变量 PATH 中找到的它们

是否选择安全的连接,在这里建议选默认的第一个

  1. 选择HTTPS后端传输

大意如下:

use the OpenSSL library
Server certificates will be validated using the ca-bundle. crt file.
使用 OpenSSL 库
服务器证书将使用 ca-bundle.crt 文件进行验证。

Use the native Windows Secure Channel library
Server certificates will be validated using Windows Certificate Stores.
This option also allows you to use your company’s internal Root CA certificates distributed e.g. via Active Directory Domain Services.
使用本机 Windows 安全通道库
服务器证书将使用 Windows 证书存储进行验证。
此选项还允许您使用公司内部分发的内部根 CA 证书,例如通过 Active Directory 域服务。

这两种选项的区别如下:

如果在具有企业管理证书的组织中使用 Git,则将需要使用安全通道。如果你仅使用 Git 来访问公共存储库(例如 GitHub ),或者你的组织不管理自己的证书,那么使用 SSL 后端(它们只是同一协议的不同实现)就可以了。

那么作为普通用户,只是用 Git 来访问 Github、GitLab 等网站,选择前者就行了。

  1. 配置行尾符号转换

Checkout Windows-style, commit Unix-style line endings
Git will convert LF to CRLF when checking out text files.
When committing text files, CRLF will be converted to LF. For cross-platform projects, this is the recommended setting on Windows("core. autocrif"is set to “true”).
签出 Windows 样式,提交 Unix 样式的行结尾
Git 签出文本文件时,会将 LF 转换为 CRLF。
提交文本文件时,CRLF 将转换为 LF。
对于跨平台项目,这是 Windows 上的建议设置(“core.autocrif” 设置为 “true”)。

Checkout as-is, commit Unix-style line endings
Git will not perform any conversion when checking out text files.
When committing text files, CRLF will be converted to LF. For cross-platform projects, this is the recommended setting on Unix(“core.autocrif” is set to “input”).
按原样签出,提交 Unix 样式的行结尾
Git 在签出文本文件时不会执行任何转换。提交文本文件时,CRLF 将转换为 LF。
对于跨平台项目,这是在 Unix 上的建议设置(“core.autocrif” 设置为 “input”)。

Checkout as-is, commit as-is
Git will not perform any conversions when checking out or committing text files.
Choosing this option is not recommended for cross-platform projects("core. autocrif"is set to “false”).
按原样签出,按原样提交
Git 在签出或提交文本文件时不会执行任何转换。
不建议跨平台项目选择此选项(“core.autocrif” 设置为 “false”)。

这三种选择分别是:
签出 Windows 样式,提交 Unix 样式的行结尾。
按原样签出,提交Unix样式的行结尾。
按原样签出,按原样提交。

Windows 样式和 Unix 样式的区别如下(引用 《GitHub 入门与实践》 第 50 页内容2):

GitHub 中公开的代码大部分都是以 Mac 或 Linux 中的 LF(Line Feed)换行。然而,由于 Windows 中是以 CRLF(Carriage Return+ Line Feed)换行的,所以在非对应的编辑器中将不能正常显示。
Git 可以通过设置自动转换这些换行符。使用 Windows 环境的各位,请选择推荐的 “Checkout Windows-style,commit Unix-style line endings” 选项。换行符在签出时会自动转换为 CRLF,在提交时则会自动转换为 LF .

上面说的 Mac 、Linux、Unix 的 Line Feed ,翻译过来就是换行符,用 “\n” 表示,换行符 “\n” 的 ASCII 值为10;

Windows 的是 Carriage Return+ Line Feed(回车+换行),用 “\r\n” 表示,回车符 “\r” 的 ASCII 值为13;

这上下两者是不一样的。所以这就需要转换了(现在的教程介绍怎么安装 Windows 版 Git,故选第一项)

“回车”(carriage return)和 “换行”(line feed)这两个概念的来历和区别(引用阮一峰老师博客的部分内容):

在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打 10 个字符。但是它有一个问题,就是打字机打完一行换行的时候,要用去 0.2 秒,正好可以打两个字符。要是在这 0.2 秒里面,又有新的字符传过来,那么这个字符将丢失。
于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做 “回车”,告诉打字机把打印头定位在左边界;另一个叫做 “换行”,告诉打字机把纸向下移一行。

  1. 配置终端模拟器以与 Git Bash 一起使用

Use MinTTY(the default terminal of MSYS2)
Git Bash will use MinTTY as terminal emulator, which sports a resizable window
non-rectangular selections and a Unicode font.Windows console programs(such
as interactive Python) must be launched via ‘winpty’ to work in MinTTY.
使用 MinTTY(MSYS2的默认终端)
Git Bash 将使用 MinTTY 作为终端仿真器,该仿真器具有可调整大小的窗口非矩形选择和 Unicode 字体。
Windows 控制台程序(例如交互式 Python)必须通过 “winpty” 启动才能在 MinTTY 中运行。

Use Windows’ default console
window Git will use the default console window of Windows(“cmd.exe”), which works v
with Win32 console programs such as interactive Python or node. js, but has a
very limited default scroll-back,needs to be configured to use a Unicode font in
order to display non-ASCII characters correctly, and prior to Windows 10 its
window was not freely resizable and it only allowed rectangular text selections.

使用 Windows 的默认控制台窗口
Git 将使用 Windows 的默认控制台窗口(“cmd.exe”),该窗口可与 Win32 控制台程序(例如交互式Python 或
node.js)一起使用,但默认回滚非常有限,需要将其配置为使用 Unicode 字体才能正确显示非 ASCII 字符,并且在
Windows 10 之前,其窗口不可随意调整大小,并且仅允许选择矩形文本。

建议选择第一种,MinTTY 3功能比 cmd 多,cmd 只不过 比 MinTTY 更适合处理 Windows 的一些接口问题,这个对 Git 用处不大,除此之外 Windows 的默认控制台窗口(cmd)有很多劣势,比如 cmd 具有非常有限的默认历史记录回滚堆栈和糟糕的字体编码等等。

相比之下,MinTTY 具有可调整大小的窗口和其他有用的可配置选项,可以通过右键单击的工具栏来打开它们 git-bash 。

  1. 选择默认的 “git pull” 行为

ODefault(fast-forward or merge)
This is the standard behavior ofgit pull": fast-forward the current branch to
the fetched branch when possible, otherwise create a merge commit.
默认(快进或合并)
这是 “git pull” 的标准行为:在可能的情况下将 当前分支 快进到 获取的分支,否则创建合并提交。

ORebase Rebase the current branch onto the fetched branch. If there are no local
commits to rebase, this is equivalent to a fast-forward.
变基将当前分支变基到获取的分支上。如果没有本地提交要变基,则等同于快进。

Oonly ever fast-forward
Fast-forward to the fetched branch. Fail if that is not possible.
只能快进快进到获取的分支。如果不可能,则失败。

上面给了三个 “git pull” 的行为:
第一个是 merge
第二个是 rebase
第三个是 直接获取

第一种 git pull = git fetch + git merge
第二种 git pull = git fetch + git rebase
第三种 git pull = git fetch ?(可能)

  1. 选择一个凭证帮助程序

Git Credential Manager
Use the cross-platform Git Credential Manager.
See more information about the future of Git Credential Manager here.
Git 凭证管理
使用跨平台的 Git 凭证管理。
在此处查看有关 Git 凭证管理未来的更多信息。

None
Do not use a credential helper.
不使用凭证助手。

一共两个选项:
Git 凭证管理
不使用凭证助手

第一个选项是提供登录凭证帮助的,Git 有时需要用户的凭据才能执行操作;比如,可能需要输入用户名和密码才能通过 HTTP 访问远程存储库(GitHub,GItLab 等等)。

  1. 配置额外的选项

Enable file system caching
File system data will be read in bulk and cached in memory for certain operations(“core.fscache” is set to “true”).
This provides a significant performance boost.
启用文件系统缓存
将批量读取文件系统数据并将其缓存在内存中以进行某些操作("core.fscache” 设置为 “true”)。
这可以显着提高性能。

Enable symbolic links
Enable symbolic links(requires the SeCreateSymbolicLink permission).
Please note that existing repositories are unaffected by this setting.
启用符号链接
启用符号链接(需要SeCreateSymbolicLink权限)。
请注意,现有存储库不受此设置的影响。

  1. 配置实验性选项

Enable experimental support for pseudo consoles.
(NEW!) This allows running native console programs like Node or Python in a Git Bash window without using winpty,
but it still has known bugs.
启用对伪控制台的实验性支持。
(新功能!) 这允许在不使用 winpty 的情况下在 Git Bash 窗口中运行诸如 Node 或 Python 之类的本机控制台程序,
但是它仍然存在已知的 bug。

Enable experimental built-in file system monitor
(NEW!) Automatically run a built-in file system watcher, to speed up common operations such as ’ git status’, ’ git add’, ’ git commit’, etc in worktrees containing many files.
启用实验性内置文件系统监视器
(新!)自动运行内置文件系统监视器,以加快包含许多文件的工作树中的常见操作,例如 ‘git status’、‘git add’、‘git commit’ 等.

这是实验性功能,可能会有一些小错误之类的,建议不用开启。
点击 install 进行安装。

  1. 安装成功:

安装成功后有 Git Bash、Git CMD、Git FAQs、Git GUI、Git Release Note,下面我们就分别介绍一下这几个。

同时桌面右键是也会有Git Bash、Git GUI

Git Bash:Unix与Linux风格的命令行,使用最多,推荐最多

Git CMD:Windows风格的命令行

Git GUI:图形界面的Git,不建议初学者使用,尽量先熟悉常用命令, 可以通过它快速创建新仓库(项目),克隆存在的仓库(项目),打开存在的仓库(仓库)。

Git FAQs: 就是 Git Frequently Asked Questions(常问问题),访问地址:FAQ · git-for-windows/git Wiki · GitHub

Git Release Note:Git Release Note 就是版本说明,增加了什么功能,修复了什么 bug 之类的。

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

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

相关文章

elementui-树形控件实现子节点右侧添加图标和数据,鼠标放上去显示文字

1、代码 <el-treev-loading"nameLoding":data"data"node-key"id":highlight-current"true"empty-text"暂无数据":props"defaultPropsIndex"default-expand-all:filter-node-method"filterNodeIndex"…

LeetCode 226. 翻转二叉树

226. 翻转二叉树 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 示例 1&#xff1a; 输入&#xff1a;root [4,2,7,1,3,6,9] 输出&#xff1a;[4,7,2,9,6,3,1]示例 2&#xff1a; 输入&#xff1a;root [2,1,3] 输出&#xff1a;[2,…

redis 从0到1完整学习 (十八):阻塞/非阻塞 IO

文章目录 1. 引言2. redis 源码下载3. I/O 模型3.1 阻塞 I/O3.2 非阻塞 I/O 4. 参考 1. 引言 前情提要&#xff1a; 《redis 从0到1完整学习 &#xff08;一&#xff09;&#xff1a;安装&初识 redis》 《redis 从0到1完整学习 &#xff08;二&#xff09;&#xff1a;red…

jetlinks 规则编排中的函数节点使用 js 脚本格式化输出当前系统时间的坑

网上搜到的都是类似如下这种&#xff1a; // 获取当前时间 var date new Date();// 格式化输出当前时间 var year date.getFullYear(); var month date.getMonth(); var day date.getDate(); var hour date.getHours(); var minute date.getMinutes(); var second date.…

捷为科技亮相2024深圳PMO年度论坛 探讨项目管理赋能企业数字化转型

1月13日&#xff0c;一场聚焦项目管理创新与数字化转型的盛会——2024年深圳PMO年度论坛在深圳新一代产业园隆重举行。本次论坛以“项目管理赋能企业数字化转型”为主题&#xff0c;汇聚了众多行业专家、学者和企业代表&#xff0c;共同探讨如何通过项目管理推动企业数字化转型…

电商概念之商品模型

1、基本定义 广义定义&#xff1a;商品是为了出售而生产的劳动成果&#xff0c;人类社会生产力发展到一定历史阶段的产物&#xff0c;用于交换的劳动产品。 电商商品基本概念&#xff1a; 商品类目商品属性销售属性商品编码&商品规格编码SKU和SPU… 2、商品类目 电商平…

【动态规划】20子数组系列_环形子数组的最大和_C++(medium)

题目链接&#xff1a;leetcode环形子数组的最大和 目录 题目解析&#xff1a; 算法原理 1.状态表示 2.状态转移方程 3.初始化 4.填表顺序 5.返回值 编写代码 题目解析&#xff1a; 题目让我们求返回 nums 的非空 子数组 的最大可能和 这道题如果是按照-这道题-是不对…

华为MindStudio简介

MindStudio是华为推出的一款集成开发环境&#xff08;IDE&#xff09;&#xff0c;主要用于边缘计算和人工智能应用的开发。它为开发者提供了一系列工具&#xff0c;用于设计、开发、调试和部署在华为Ascend系列AI处理器上运行的应用程序。MindStudio旨在简化和加速AI应用开发的…

基于信号完整性的一些PCB设计建议

最小化单根信号线质量的一些PCB设计建议 1. 使用受控阻抗线&#xff1b; 2. 理想情况下&#xff0c;所有信号都应该使用完整的电源或地平面作为其返回路径&#xff0c;关键信号则使用地平面作为返回路径&#xff1b; 3. 信号的返回参考面发生变化时&#xff0c;在尽可能接近…

JMeter笔记(三)

个人学习笔记&#xff08;整理不易&#xff0c;有帮助点个赞&#xff09; 笔记目录&#xff1a;学习笔记目录_pytest和unittest、airtest_weixin_42717928的博客-CSDN博客 目录 一&#xff1a;参数化方法 1&#xff09;用户定义的变量 2&#xff09;函数助手 3&#xff09;…

MYSQL的事务隔离

本章概览 mysql是一个支持多引擎的系统&#xff0c;并不是所有引擎都支持事务&#xff0c;本篇以innodb为例解析mysql在事务支持的实现。提到事务一定会想到ACID(Atomicity、Consistency、Isolation、Durability&#xff0c;即原子性、一致性、隔离性、持久性)&#xff0c;今天…

(二)如何在两台运行Ubuntu 20.04的系统上建立RabbitMQ集群

如何在两台运行Ubuntu 20.04的系统上建立RabbitMQ集群。建立RabbitMQ集群需要一些特定的步骤&#xff0c;下面是一个概述&#xff1a; 安装RabbitMQ和Erlang&#xff1a;首先&#xff0c;在两台服务器上都执行您提供的快速安装脚本以安装RabbitMQ和Erlang。 详见《(一)Ubuntu 2…

旧路由重置新路由设置新路由设置教程|适用于PPPoE拨号

前言 前几天朋友说路由器想要重置&#xff0c;但不知道怎么弄。所以就想着只帮忙重置路由器的话&#xff0c;只能帮到一个人。但把整个过程写成图文&#xff0c;就可以帮助更多人。 本文章适合电脑小白&#xff0c;请注意每一步哦&#xff01; 注意事项 开始之前需要确认光猫…

Redux的使用方法,目前借助的是reduxjs/toolkit redux工具

1 第一步 安装redux的插件&#xff1a; npm i reduxjs/toolkit react-redux 2 第二步 创建store文件夹下创建index.ts文件 import {configureStore} from reduxjs/toolkit const store configureStore({ // 创建store实例对象reducer:{} })export default store // 对外暴露…

pod控制器的作用

pod控制器的作用 1、动态pv和pvc deployment是控制器 pod空气器:工作负载&#xff0c;workload用于管理pod的中间层&#xff0c;确保podi资源符合预期的状态 预期状态 1、副本数 2、容器重启策略 3、镜像拉取策略 pod、出现故障时重启等等 pod的控制器类型 1、replic…

QT-文件夹与文件操作/QDir/QFile

本文目录 判断文件夹是否存在创建文件夹删除文件夹创建文件删除文件 判断文件夹是否存在 下面的代码判断E盘下ABC文件夹是否存在&#xff0c;注意斜杠&#xff0c;不要写反了 #include <QDir>int main(int argc, char *argv[]) {QDir dir("E:/ABC");if(!dir.…

删除运行框中的文件打开历史记录

当我们使用everything、百度、迅雷等软件&#xff0c;在列表中右键选中打开文件夹时。 当使用 winR 快捷键等方式打开运行时&#xff0c;输入盘符会出现之前打开过的文件夹&#xff0c; 一方面展示的特别多会比较混乱&#xff0c;另一方面 记得在之前的window版本中&#xff08…

WIFI7时代正式来临

Wi-Fi联盟在2024年1月8日宣布推出了Wi-Fi CERTIFIED 7认证&#xff0c;标志着WIFI7时代的正式来临&#xff01;这一认证引入了一系列强大的新功能&#xff0c;旨在提升Wi-Fi性能并改善各种连接环境。WIFI7支持多用户AR/VR/XR、沉浸式3D培训、电子游戏、混合工作、工业物联网和汽…

架构师之超时未支付的订单进行取消操作的几种解决方案

今天给大家上一盘硬菜&#xff0c;并且是支付中非常重要的一个技术解决方案&#xff0c;有这块业务的同学注意自己尝试一把哈&#xff01; 一、需求如下&#xff1a; 生成订单30分钟未支付&#xff0c;自动取消 生成订单60秒后,给用户发短信 对上述的需求&#xff0c;我们给…

【算法与数据结构】63、LeetCode不同路径 II

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析&#xff1a;参考【算法与数据结构】62、LeetCode不同路径的题目&#xff0c;可以发现本题仅仅是多了障碍物。我们还…