Git安装的一些步骤解说(小白好奇心严重版本)

news2025/2/24 9:05:35

Use bundled OpenSSH

 

        安装 Git 时,您面临的选择是使用 Git 自带的 SSH 客户端(bundled OpenSSH)还是使用系统上已安装的外部 SSH 客户端(external OpenSSH)。以下是两个选项的一些考虑因素:

  1. 使用 Git 自带的 OpenSSH(Use bundled OpenSSH):

    • 这通常是最简单的选择,因为它保证了 SSH 客户端与 Git 版本的兼容性。
    • 如果您的系统上没有安装 SSH 或者您不确定如何配置 SSH,那么这个选项可能是最好的选择。
  2. 使用系统上的外部 OpenSSH(Use external OpenSSH):

    • 如果您已经在系统上安装并配置了 SSH 客户端,并且想要 Git 使用相同的 SSH 客户端,可以选择这个选项。
    • 这可能对于需要特定 SSH 客户端配置的高级用户来说是一个更好的选择。

        如果您不确定应该选择哪个,通常建议使用 Git 自带的 OpenSSH,因为它保证了最佳的兼容性并且可以简化安装过程。如果您选择了“使用系统上的外部 OpenSSH”并且系统上没有合适的 SSH 客户端,可能会导致在使用 Git 进行远程操作时出现问题。如果您是一个普通用户或者不熟悉 SSH 客户端的配置,那么建议选择“使用 Git 自带的 OpenSSH”。

Checkout Windows-style, commit Unix-style line endings

        这个界面是 Git 安装过程中配置文本文件的行尾转换的步骤。不同的操作系统使用不同的行尾字符,Linux 和 macOS 使用 LF(Line Feed),而 Windows 使用 CRLF(Carriage Return + Line Feed)。这三个选项的意义如下:

  1. Checkout Windows-style, commit Unix-style line endings:

    • 这是在 Windows 上推荐的设置。它将在您检出文件时转换 LF 到 CRLF,确保 Windows 兼容性,并在提交时将 CRLF 转换回 LF,以保持仓库内的一致性。
  2. Checkout as-is, commit Unix-style line endings:

    • 这个选项在检出文件时不会转换任何东西,但是在提交时会将任何 CRLF 转换为 LF。这是跨平台项目的推荐设置,并且在 Unix 系统上使用时比较常见。
  3. Checkout as-is, commit as-is:

    • 这将完全避免任何自动转换,保留在检出或提交时文件的原始行尾。这不推荐用于跨平台项目,因为可能导致行尾不一致问题。

        在大多数情况下,如果您在 Windows 上工作并且与使用其他操作系统的开发者共享代码,那么选择第一个选项(Checkout Windows-style, commit Unix-style line endings)是最佳实践。这确保了您在本地环境中的文件与 Windows 兼容,同时保持了代码库中行尾的一致性,以便其他操作系统的用户也能使用。

Use MinTTY

        这个界面是 Git 安装过程中用于配置 Git Bash 使用的终端仿真器。您有两个选项:

  1. Use MinTTY (the default terminal of MSYS2):

    • MinTTY 提供了一个更现代的界面,支持窗口大小调整、非矩形选择和 Unicode 字体,这些特性使得用户体验更好。它是 MSYS2 的默认终端,通常提供比 Windows 默认控制台更好的特性和更好的用户体验。
  2. Use Windows' default console window:

    • 这会使 Git Bash 在 Windows 默认的控制台窗口(cmd.exe)中运行。这可能与其他基于 cmd 的工具更加一致,但它的功能较为基础,例如滚动回溯和文本选择限制,可能需要配置以正确显示非ASCII字符。

        通常,如果您不需要特定的 Windows 控制台行为,并且希望更现代的终端体验,建议选择 MinTTY。它为 Git Bash 提供了更加丰富的功能和更好的兼容性,尤其是在处理复杂脚本和文本显示时。

        如果您经常使用 Windows 命令提示符和其他依赖 cmd.exe 的工具,并且希望保持一致的体验,或者您需要确保最大的兼容性(特别是在企业或受限环境中),您可能会选择使用 Windows 默认的控制台窗口。

        对于大多数用户,我会建议使用 MinTTY 作为 Git Bash 的终端仿真器。

Fast-forward or merge

        这个界面询问您希望 git pull 命令的默认行为是什么。在 Git 中,git pullgit fetch 之后紧接着 git merge 的快捷方式,用来从远程仓库更新你的本地分支。以下是三个选项的解释:

  1. Fast-forward or merge:

    • 这是最常见的选项,如果可能的话,它会执行快进(fast-forward),这意味着如果远程分支在当前分支之后,Git 会直接将您的头指针移动到远程分支的最新提交。如果不可能(例如,当你的分支有一些远程分支没有的提交时),Git 会执行一个合并提交。
  2. Rebase:

    • 选择这个选项会使得 git pull 执行变基操作,即它会取出你在当前分支上做的提交,"取消"它们,拉取远程分支上的更新,然后再把你的更改"放回"到这些更新之上。这会使得项目历史更加整洁,因为它避免了不必要的合并提交。
  3. Only ever fast-forward:

    • 此选项将配置 Git 仅在可以快进时执行 git pull。如果不能快进(比如远程分支与你的分支有分歧),那么 git pull 将会失败。这能保持历史线性,但可能需要手动解决分歧。

        选择哪个选项取决于您喜欢的工作流程:

  • 如果您喜欢简单直接,不介意在历史中看到合并提交,那么选择 Fast-forward or merge
  • 如果您想要一个更清洁的项目历史,不介意在执行 git pull 之后解决可能出现的冲突,那么选择 Rebase
  • 如果您是在一个小团队中工作,或者在管理一个不太复杂的项目,并且想要保持历史的线性,那么选择 Only ever fast-forward

        对于大多数用户,尤其是那些不太熟悉 Git 的人,Fast-forward or merge 是一个好的默认选择,因为它比较符合人们的直觉并且易于理解。如果您正在团队中工作,可能还需要考虑团队的工作流程约定。

Git Credential Manager

        在安装 Git 时,选择凭据帮助程序(credential helper)是一个重要的步骤,因为它可以帮助管理和存储用于与 Git 仓库交互的凭据(比如用户名和密码)。

  1. Git Credential Manager:

    • 选择这个选项意味着您将使用 Git 凭据管理器来存储您的认证信息。这个跨平台的工具在您通过 HTTPS 访问 Git 仓库时,可以安全地保存您的登录信息,从而在下次访问时无需重新输入。这是一个方便的选择,特别是如果您经常需要与远程仓库交互。
  2. None:

    • 如果您选择“None”,则意味着您不使用任何凭据帮助程序。这将要求您每次推送或拉取时都手动输入凭据,除非您有其他机制来管理它们。

        对于大多数用户来说,使用 Git Credential Manager 是一个方便的选择,因为它减少了每次访问远程仓库时需要输入凭据的次数。如果您对安全性有特别的要求,或者在一个自动化环境中(例如,持续集成/持续部署系统),那么您可能会选择不使用凭据帮助程序,并寻找其他的凭据管理解决方案。

        通常,对于个人开发者或小型团队,Git Credential Manager 是推荐的选项。如果您不确定,保持默认的选择通常是最佳的做法。

Enable file system caching

  1. Enable file system caching:

    • 这个选项会启用文件系统缓存,它可以提高 Git 操作的性能,因为它会在内存中缓存文件系统数据。对于具有较大仓库或较慢硬盘的用户来说,这个选项可以显著提高性能。如果您的电脑配置较高,选择这个选项通常是有益的。
  2. Enable symbolic links:

    • 符号链接是一个文件系统级别的快捷方式,指向另一个文件或目录。在 Git 中启用符号链接意味着您可以在仓库中创建指向其他文件或目录的链接。这在某些开发工作流程中很有用,但它需要特定的权限(SeCreateSymbolicLink),并且可能在不支持它们的平台上(如某些 Windows 版本)引发问题。如果您不确定您的系统支持符号链接或您不需要此功能,您可以不选它。

        如果您不熟悉符号链接或不确定是否需要它们,您可以不启用该选项。对于大多数用户,特别是那些使用标准开发和版本控制流程的用户,启用文件系统缓存通常是个好主意,而符号链接的使用则取决于您对它们的需求。如果您不需要符号链接或不确定它们的用途,可以安全地跳过这个选项。

Disable

  1. Enable experimental support for pseudo consoles:

    • 这个选项允许在 Git Bash 窗口中运行像 Node 或 Python 这样的原生控制台程序,而不需要使用 winpty。这是一个实验性功能,可能还不够稳定。如果你需要在 Git Bash 中运行这类程序,并且愿意尝试可能还在开发中的功能,你可以选择启用它。但是,如果你希望确保你的环境尽可能稳定,你可能会想要跳过这个选项。
  2. Enable experimental built-in file system monitor:

    • 这个选项会启用一个内置的文件系统监视器,旨在加快如 git statusgit addgit commit 等常见操作,特别是在包含许多文件的工作树中。这对于那些处理大型仓库的用户来说可能非常有用,因为它可以显著提高这些操作的速度。然而,作为一个实验性功能,它可能包含未知的错误或不稳定性。

        实验性功能的一个重要考虑因素是它们可能未经充分测试,可能会有不预期的行为。如果你在一个生产环境中工作,或者你需要一个稳定和可预测的设置,你可能会想要避免启用这些选项。相反,如果你愿意尝试最新功能,并且可以容忍潜在的不稳定性,那么启用它们可能会为你带来一些好处。

        根据你的需求和对稳定性的偏好,你可以选择启用或不启用这些选项。如果你不确定,保守的做法是不启用实验性功能,确保你的 Git 安装尽可能稳定。

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

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

相关文章

2/29作业

typedef int datatype; typedef struct link_list { union { int len; datatype data; }; struct link_list *next; }link_list,*link_p; #include "link_list.h" int main(int argc,const char *argv[]) { //创建链表并填入数据 …

阿里云服务器大降价20%,简单拥有五年三台2h4gECS,组建公网集群

要在阿里云ECS上组建集群,您可以按照以下步骤进行操作: 创建ECS实例:登录阿里云控制台,选择ECS实例,点击“创建实例”按钮。根据实际需求选择实例的配置参数,例如实例规格、操作系统、网络等。根据需要选择…

Spring Boot Profiles简单介绍

Spring Boot application.properties和application.yml文件的配置 阅读本文之前,请先阅读上面的配置文件介绍。 Spring Boot Profiles是一个用于区分不同环境下配置的强大功能。以下是如何在Spring Boot应用程序中使用Profiles的详细步骤和代码示例。 1. 创…

buuctf_web_loveSQL

题目: 上面有行小红字,“用 sqlmap 是没有灵魂的”,呵呵。。嗯,确实 啥也憋说,先上万能钥匙: a or 11 # a’ or 11 # a" or 11 # 尝试后的结果,可以发现该SQL验证是单引号,a or 11 #注入过…

预训练大模型LLM的PEFT之—— Prefix Tuning

简介 Prefix Tuning是2021.01提出来的,在它之前,我们使用prompt主要是人工设计模板或者自动化搜索模板,也就是prompt范式的第一阶段,就是在输入上加上prompt文本,再对输出进行映射。这种离散模板对模型的鲁棒性很差。…

【YOLO v5 v7 v8 小目标改进】RFB:组合不同大小的卷积核和扩张卷积来模拟人类视觉感受野的多尺度特性

RFB:组合不同大小的卷积核和扩张卷积来模拟人类视觉感受野的多尺度特性 提出背景RFB 原理空间感受野结构RFB-Net 小目标涨点YOLO v5 魔改YOLO v7 魔改YOLO v8 魔改 提出背景 当前表现最好的目标检测器依赖于深层CNN骨干网络,如ResNet-101和Inception&am…

qt5与qt6的cmake区别

文章目录 使用cmake构建qt项目,坑很多。一是本身就麻烦,二是,确实坑,因为不同的qtcreator版本,选了不同的kits(套件) 生成的CMakeList.txt文件也不一样。 如果可以的话都选择Qt6的相关选项&…

【C++】认识类和对象

🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 文章目录 一、什么是面向对象?二、类的引入三、类的定义四、类的访问限定符与…

一文速览深度伪造检测(Detection of Deepfakes):未来技术的守门人

一文速览深度伪造检测(Detection of Deepfakes):未来技术的守门人 前言一、Deepfakes技术原理卷积神经网络(CNN):细致的艺术学徒生成对抗网络(GAN):画家与评审的双重角色…

异常网络下TCP的可靠服务机制(慢启动、拥塞避免、快重传、快恢复)

目录 TCP超时重传拥塞控制概述慢启动和拥塞避免下面讲解发送端如何判断拥塞发生。 快速重传和快速恢复 本文描述TCP在异常网络下的处理方式 以保证其可靠的数据传输的服务 TCP超时重传 tcp服务能够重传其超时时间内没有收到确认的TCP报文段,tcp模块为每一个报文段都…

【机器学习】特征选择之包裹式特征选择法

🎈个人主页:豌豆射手^ 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:机器学习 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进…

matlab实现不同窗滤波器示例

1 汉明窗低通滤波器 : 在Matlab中使用汉明窗设计低通滤波器可以通过fir1函数实现。汉明窗通常用于设计滤波器,可以提供更突出的频率特性。 下面是一个示例代码,演示如何在Matlab中使用汉明窗设计低通滤波器: % 定义滤波器参数 fs …

数据结构——lesson4带头双向循环链表实现

前言✨✨ 💥个人主页:大耳朵土土垚-CSDN博客 💥 所属专栏:数据结构学习笔记​​​​​​ 💥双链表与单链表的区分:单链表介绍与实现 💥对于malloc函数有疑问的:动态内存函数介绍 感谢大家的观看…

J1—Vivado调试技巧VIO IP

1.简介 VIO(Virtual Input/Output)IP核是一种用于FPGA设计的IP核,它可以模拟输入/输出设备的功能,如键盘、鼠标、显示器等。VIO IP核可以在FPGA设计中用于调试和验证,帮助工程师快速定位问题并进行调试。如图所示&…

vue 解决:点击左侧相同菜单,右侧页面不重新加载的问题

1、问题描述: 其一、需求为: 无论是通过路由组件形成的平台管理系统,还是通过文件配置形成的平台管理系统,都存在通过切换左侧的导航栏而使右侧的页面切换的业务需求; 其二、问题描述为: A、步骤一&#…

全国产飞腾E2000Q +复旦微FPGA的轨道交通、电力解决方案

产品概述 ITX-XMF201是一款高性能边缘计算网关主板,采用飞腾E2000Q 4核处理器,国产化率达到95%国产化。 板载2电口,2路CAN,6路RS232接口,1路RS485接口,16路GPIO,可以满足银行、轨道交通、电力等…

springboot2入门到实战 - JWT

JWT是什么? JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object。 This information can be verified and trusted because it is digi…

便签软件哪个好用?好用便签怎么设置提醒?

在当今信息爆炸的时代,便签软件成为了人们生活中不可或缺的工具之一。那么,便签软件哪个好用呢?下面为您推荐几款备受好评的便签软件。首先是知名度极高的好用便签,它拥有强大的笔记功能、提醒功能和多端同步,让您随时…

COMPOSER安装使用WIN下升级PHP-V

想用TP6使用phpspreadsheet但是说我PHP版本低,原来是PHP7.0 composer要求至少7.4 直接修改环境变量,把PHP目录切换到7.4 composer升级比较简单,在PHP目录下CMD然后官网的命令执行下即可 下面就可以在TP根目录下执行命令安装PHPSPREADSHEET…

Java进阶-集合(3)与泛型

这次介绍集合中的Iterator迭代器,以及泛型。简单来说,泛型对集合的元素类型进行了限制,使用泛型可以在编译时检查类型安全,提高代码的重用率。内容如下 一、Iterator迭代器 1、概念 Iterator迭代器是一个接口,作用…