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

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 安装尽可能稳定。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

回溯是怎么回事(算法村第十八关青铜挑战)

组合 77. 组合 - 力扣(LeetCode) 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1: 输入:n 4, k 2 输出: [[2,4],[3,4],[2,3],[1,2],[1,3],…

ssm274办公自动化管理系统

** 🍅点赞收藏关注 → 私信领取本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅** 一 、设计说明 1.1课题背…

IDEA开发环境的安装与编写第一个程序

1.下载 IDEA(全称IntelliJ IDEA)是用于Java程序开发的集成环境(也可用于其他语言),它在业界被公认是最好的Java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代…

回溯 Leetcode 332 重新安排行程

重新安排行程 Leetcode 332 学习记录自代码随想录 给你一份航线列表 tickets ,其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK(肯尼迪国际机场)出发的先生&a…

算力简单介绍

"算力"这个词在不同的领域有不同的含义。下面是几个常见的解释: 在计算机科学中, "算力"通常指的是计算机系统或设备的处理能力。这包括 CPU、GPU、TPU 等处理器的性能。算力可以用来衡量一个设备能够在一定时间内完成的计算任务数量…

内网搭建mysql8.0并搭建主从复制详细教程!!!

一、安装mysql 1.1 mysql下载链接: https://downloads.mysql.com/archives/community/ 1.2 解压包并创建相应的数据目录 tar -xvf mysql-8.2.0-linux-glibc2.28-x86_64.tar.xz -C /usr/local cd /usr/local/ mv mysql-8.2.0-linux-glibc2.28-x86_64/ mysql mkdir…

Pytorch 复习总结 4

Pytorch 复习总结,仅供笔者使用,参考教材: 《动手学深度学习》Stanford University: Practical Machine Learning 本文主要内容为:Pytorch 深度学习计算。 本文先介绍了深度学习中自定义层和块的方法,然后介绍了一些…

CBAM注意力机制详解(附pytorch复现)

简介 论文原址:1807.06521.pdf (arxiv.org) CBAM(Convolutional Block Attention Module)是一种卷积神经网络模块,旨在通过引入注意力机制来提升网络的表示能力。CBAM包含两个顺序子模块:通道注意力模块和空间注意力…

Android的硬件接口HAL

我一直觉得,现代计算机不是一门科学,起码快算不上一门理科科学。上上下下全是人造,左左右右全是生意,用管理学,经济学去学计算机,也许更看得懂很多问题。HAL就是一个典型例子。 传统Linux绕开了微软的霸权…

C# WPF编程-创建项目

1.创建新项目 选择“WPF应用程序”》“下一步” 设置项目 设置项目名称,保存位置等参数>下一步 3.选择框架 4.项目创建成功 5.运行项目

libvirt命名空间xmlns:qemu的使用

示例xml <domain type{domain_type} xmlns:qemuhttp://libvirt.org/schemas/domain/qemu/1.0><qemu:commandline><qemu:commandline><qemu:arg value-newarg/><qemu:env nameQEMU_ENV valueVAL/></qemu:commandline></domain>"…

分布式任务调度:XXL-Job入门介绍实战

1. 引言 随着互联网业务的不断扩展和复杂化&#xff0c;分布式任务调度成为了构建大规模系统的重要组成部分。XXL-Job作为一款开源的分布式任务调度平台&#xff0c;提供了完整的任务调度和管理功能&#xff0c;被广泛应用于各种场景。本文将介绍如何入门使用XXL-Job&#xff…

【InternLM 实战营笔记】浦语大模型趣味 Demo

大模型及 InternLM 模型简介 1.1 什么是大模型&#xff1f; 大模型通常指的是机器学习或人工智能领域中参数数量巨大、拥有庞大计算能力和参数规模的模型。这些模型利用大量数据进行训练&#xff0c;并且拥有数十亿甚至数千亿个参数。大模型的出现和发展得益于增长的数据量、…

开学季立式学习灯如何选择?六个挑选大路灯窍门让你不掉坑!

很多用户在选择大路灯时&#xff0c;总是优先考虑所谓的大品牌&#xff0c;但这其实是一个很大的误区。要知道&#xff0c;很多知名品牌的基础品质是还行&#xff0c;但是在专业技术地研发和优化上却鲜有成就&#xff0c;根本无法对光线显色度、稳定性等百余项参数进行实测&…

【leetcode】链表的中间节点

大家好&#xff0c;我是苏貝&#xff0c;本篇博客带大家刷题&#xff0c;如果你觉得我写的还不错的话&#xff0c;可以给我一个赞&#x1f44d;吗&#xff0c;感谢❤️ 目录 点击查看题目 思路: slow和fast都初始化为head&#xff0c;之后slow每走1步&#xff0c;fast走2步…

爬虫到底违法吗?你离违法还有多远?

最近&#xff0c;国家依法查处了部分编写爬虫程序&#xff0c;盗取其他公司数据的不良企业。一时间风声鹤唳&#xff0c;关于爬虫程序是否违法的讨论遍布程序员圈子。那么到底编写爬虫程序是否违法呢&#xff1f; 其爬虫下载数据&#xff0c;一般而言都不违法&#xff0c;因为…

华为---RSTP(四)---RSTP的保护功能简介和示例配置

目录 1. 技术背景 2. RSTP的保护功能 3. BPDU保护机制原理和配置命令 3.1 BPDU保护机制原理 3.2 BPDU保护机制配置命令 3.3 BPDU保护机制配置步骤 4. 根保护机制原理和配置命令 4.1 根保护机制原理 4.2 根保护机制配置命令 4.3 根保护机制配置步骤 5. 环路保护机…

MySQL学习笔记5: MySQL表的增删查改 (进阶)

目录 前言1. 数据库约束1.1. 约束类型not null 约束unique 唯一约束default 默认值约束primary key 主键约束foreign key 外键约束 2. 表的设计2.1. 实体之间的关系一对一一对多多对多 3. 新增4. 查询4.1. 聚合查询4.1.1. 聚合函数4.1.2. group by 子句4.1.3. having 4.2. 联合…

马帮ERP与ETL快速同步

马帮ERP介绍 上海马帮科技有限公司&#xff0c;是一家专注于提供全流程跨境电商ERP管理软件解决方案的企业。聚焦服务于各阶段、各领域的跨境电商从业者&#xff0c;旗下包含专业版ERP、亚马逊专用版ERP、东南亚海外版ERP、WMS、云仓、TMS、跨境分销、SCM等产品模块&#xff0c…