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

Git 和 TortoiseGit 安装和配置(图文详解)

使用git,需要在Windows上需要安装两个软件:1)Git  2)TortoiseGit

若需要,可以下载TortoiseGit汉化语言包。

注意tortoiseGit是在安装了Git的基础上运行的所以需要先安装Git,后安装运行tortoiseGit

因为,运行TortoiseGit时需要选择git.exe路径,而git.exe是正确安装Git的产物。

一. Git安装

        Git是一个开源的分布式版本控制系统,旨在高效、快速地处理从小型到大型项目的版本管理。

官网地址:https://git-scm.com/download/win

安装步骤:中间配置选择根据开发环境决定(本人是交叉编译环境,但都是liunx环境:

linux X86 + Linux arm,不涉及跨平台,故选择3没有影响),其余next默认即可。

        此配置通常涉及到如何处理文本文件的换行符(line endings)。以下是针对这三种选项的详细解释:

1. Checkout Windows-style, commit Unix-style line endings(签出CRLF, 提交签入是LF)

  • 签出(Checkout): 当从Git仓库中检出文件到本地工作目录时,Git会将Unix风格的换行符(LF)转换为Windows风格的换行符(CRLF)。这是为了在Windows系统上保持文本文件的一致性,因为Windows系统通常使用CRLF作为换行符。
  • 提交(Commit): 当向Git仓库提交文件时,Git会将Windows风格的换行符(CRLF)转换回Unix风格的换行符(LF)。这是因为Git仓库中的文件通常以Unix风格存储,以确保跨平台的一致性。

2. Checkout as-is, commit Unix-style line endings(签出CR, 提交签入是LF)

  • 签出(Checkout): 不对检出的文件进行换行符转换,保持文件在Git仓库中的原始格式。这意味着如果你在Unix系统上提交了一个文件,然后在Windows系统上检出,你将看到Unix风格的换行符(LF)。
  • 提交(Commit): 当向Git仓库提交文件时,Git会将文件转换为Unix风格的换行符(LF)。这是为了确保Git仓库中的文件跨平台一致。

3. Checkout as-is, commit as-is line endings(签出CR, 提交签入是CR)

  • 签出(Checkout): 不对检出的文件进行换行符转换,保持文件在Git仓库中的原始格式。
  • 提交(Commit): 当向Git仓库提交文件时,不进行任何换行符转换,直接提交文件的当前格式。这通常不是推荐的做法,因为它可能导致跨平台的不一致性问题。

总结

  • 跨平台项目: 如果你正在参与一个跨平台的项目(例如,团队成员使用不同的操作系统),通常建议选择“Checkout Windows-style, commit Unix-style line endings”。这样可以确保在Windows系统上正常显示文件,同时在Git仓库中保持Unix风格的换行符。
  • 非跨平台项目: 如果你的项目仅针对特定操作系统(例如,仅针对Windows或Unix/Linux),你可以选择“Checkout as-is, commit Unix-style line endings”或根据需要进行调整。
  • 注意: Git仓库中的文件通常以Unix风格的换行符(LF)存储,这是为了确保跨平台的一致性。在检出文件到本地工作目录时,Git会根据操作系统的不同自动进行换行符的转换(如果配置了相应的选项)。

二. TortoiseGit安装和配置

        TortoiseGit是一款专为Windows系统设计的Git版本控制客户端工具,它为用户提供了直观、友好的图形界面,使得Git的操作更加容易理解和使用。无论是初学者还是有经验的开发人员,都可以借助TortoiseGit提高工作效率,更好地管理和维护代码库。

        官网下载地址:https://tortoisegit.org/download/

        根据需要可以下载对应版面的语言包:

        注意:语言包安装需要在安装tortoiseGit之后

1. TortoiseGit安装

安装步骤:一路Next即可,配置均选择默认

注意:安装之后,选中Run first start wizard 以便进行初始设置,若没有选中,后续可以通过

右键->TortoiseGit->设置 进行初始设置。

2. 初始配置

1)若没有安装语言包,默认只有英文

        安装语言包:若先安装并初始化配置了TortoiseGit,再安装语言包时,需要勾选以下选项,这样可以直接应用语言包。 

 2)配置git.exe

3)配置用户名和邮箱

 4)其他默认,完成。结果如下:语言包已生效。

 

        到此时,Git已安装并做初始配置,但连接Gitlab,实现克隆、提交代码等功能还尚不可以。可以理解为:本地Git还未与远端Gitlab建立连接,所谓连接即:密钥配置

三. 密钥配置

1. 生成密钥文件

1)windows上找到  PuTTYgen点击Generate ,生成对应的密钥

注意:生成时鼠标要不停划过进度条,不然进度条会一直不动!

 2)点击“save private key”,将私钥保存到本地(文件名自己命名即可,后缀为ppk),记住存储的位置,后续连接Gitlab需要用私钥校验。

 2. Gitlab配置SSH Keys

 3. 查看windows pageant是否添加了对应的私钥。若没有则手动添加前面生成的private key.ppk,也就是私钥。

 四. 验证

进入本地项目代码保存的路径,右键-->TortoiseGit-->克隆

相关文章:

Git 和 TortoiseGit 安装和配置(图文详解)

使用git,需要在Windows上需要安装两个软件:1)Git 2)TortoiseGit 若需要,可以下载TortoiseGit汉化语言包。 注意:tortoiseGit是在安装了Git的基础上运行的,所以需要先安装Git,后安装…...

OpenAI CTO谈GPT-5将达博士生智力水平;斯坦福评估排名前十两款来自中国

🦉 AI新闻 🚀 OpenAI CTO谈GPT-5将达博士生智力水平 摘要:美国达特茅斯工程学院采访了OpenAI首席技术官米拉・穆拉蒂,她表示GPT-4的智力相当于高中生,而GPT-5将在一年半后发布,预计达到博士生水平。穆拉蒂…...

焦化超低排平台组成部分

焦化行业作为重工业的重要组成部分,其环保问题一直备受关注。近年来,随着环保意识的提升和技术的不断进步,朗观视觉焦化超低排平台应运而生,成为推动焦化行业绿色发展的重要力量。本文将深入剖析焦化超低排平台的组成部分&#xf…...

鸿蒙 navigation路由跳转,页面struct 下的生命周期、onShow、onHidden等不会触发问题

经常用安卓思维考虑问题,用习惯了Router方式跳转,但是官方推荐用 navigation,当然它有它的有点, 也有小瑕疵,用了api11 后 发现 navigation路由跳转 ,只要被它包裹的跳转到下页面的,有些生命周期…...

BUUCTF [CISCN2019 华北赛区 Day2 Web1] Hack World

1、通过题目,可以知道该题目为SQL注入类型: 2、判断注入类型为数字注入: 3、通过BP抓包,来判断注入点。 字典爆破发现常规的注入方式都被过滤。 4、因此可以尝试通过布尔盲注的方式来得到flag。编写脚本得到flag import requests…...

wsl2平台鸿蒙全仓docker编译环境快速创建方法

文章目录 1 文章适用范围:2 WSL环境安装3 镜像迁移非C盘4 Docker环境准备4.1 docker用户组和用户创建4.2 Docker环境配置4.2.1 Ubuntu下安装docker工具4.2.2 鸿蒙Docker环境安装4.2.3 鸿蒙全仓代码拉取编译 5 鸿蒙全仓代码的更新策略6 参考文献7 FAQ7.1 缺头文件xcr…...

商业秘密侵权

一、商业秘密侵权行为 (一)员工违规获取并使用企业后台用户行为数据构成商业秘密侵权 (二)离职员工将新单位“冒名顶替”为原单位构成对原单位商业秘密的侵犯 二、商业秘密侵权主体 (一)主体范围界定&a…...

高通安卓12-固件升级

下载步骤 第一步 格式化 「下载一次即可;能开机能下载的板子 忽略这一步,直接执行第二步即可」 QFIL工具配置为UFS类型,勾选Provision,如下图: Programmer选择prog_firehose_ddr.elf,Provision Xml选择prov…...

我的常见问题记录

1,maven在idea工具可以正常使用,在命令窗口执行出现问题 代码: E:\test-hello\simple-test>mvn clean compile [INFO] Scanning for projects... [WARNING] [WARNING] Some problems were encountered while building the effective model for org.consola:simple-test:jar…...

Python 3.12 环境搭建(Windows版)

目录 1. 下载Python 3.12安装包2. 安装Python 3.123. 验证安装5. (可选)配置其他开发工具 在Windows系统中搭建Python 3.11环境,可以按照以下步骤进行,以确保过程清晰且详细: 1. 下载Python 3.12安装包 打开浏览器&a…...

植物大战僵尸杂交版如何手动修改金币钻石数

前言 最近在玩植物大战僵尸杂交版,非常好玩,但是刷钻石真的好慢!只能在排山倒海里眼巴巴等着黄金吞噬者产钻石qaq 但是好歹咱是学CS的,怎会被这点困难难住!挑战不用修改器手动修改配置文件! 原参考文章&…...

Salia PLCC cPH2 远程命令执行漏洞(CVE-2023-46359)

漏洞描述 Salia PLCC cPH2 v1.87.0 及更早版本中存在一个操作系统命令注入漏洞,该漏洞可能允许未经身份验证的远程攻击者通过传递给连接检查功能的特制参数在系统上执行任意命令。 产品界面 fofa语法 "Salia PLCC" POC GET /connectioncheck.php?ip1…...

路由表操作

路由表(Routing Table)是网络设备(如计算机、路由器、交换机等)用来确定数据包传输路径的数据库。每当网络设备收到一个数据包时,它会查找路由表,决定将数据包转发到哪个网络接口或网关。下面介绍路由表的基…...

羊大师:拒绝心灵内耗:走向高效与平和

在繁忙的生活中,我们时常感到疲惫不堪,仿佛心灵被无形的枷锁束缚,这就是精神内耗。它让我们在思考、决策和行动中犹豫不决,消耗着我们的精力和时间,让我们无法专注于真正重要的事情。然而,我们有能力打破这…...

IOS Swift 从入门到精通:Swift 简介,Swift中变量和常量,Swift中字符串,Swift中整数和浮点数

文章目录 为什么选择 Swift如何创建变量和常量如何创建变量和常量为什么 Swift 有常量和变量?如何创建字符串为什么 Swift 需要多行字符串?如何存储整数如何存储十进制数为什么选择 Swift 编程语言有很多,但我认为你会非常喜欢学习 Swift。这部分是出于实际原因——你可以在…...

聚焦AIoT最后一公里:EasyCVR+AI视频技术在各领域的创新应用

随着5G、AI、边缘计算、物联网(IoT)、云计算等技术的快速发展,万物互联已经从概念逐渐转变为现实,全新的行业生态AIoT正在开启新时代。巨大的市场潜力与AI等新兴技术不断融合形成的庞大市场缺口,深度场景化应用落地诉求…...

怎样利用 Groovy 的元编程特性来创建自定义的 DSL(领域特定语言)?

使用Groovy的元编程特性可以方便地创建自定义的领域特定语言(DSL)。下面是一些利用Groovy元编程特性创建DSL的步骤: 定义DSL的语法结构:首先,您需要确定DSL的语法结构,包括关键字、表达式和语句的格式等。可…...

自动预约申购 i茅台工具完善

自动预约申购茅台工具 概述新的改变界面预览 概述 今天刷到一个windows自动刷茅台的工具,是用wpf实现的,看到作者最后是2023年更新的,评论中有好多人提出一些需求,刚才在学习wpf,就试着完善了一下。 工具下载&#x…...

Jitter Injection详解

一、定义与作用 Jitter Injection,即抖动注入,是一种在通信系统中人为地添加抖动的技术。该技术通过在发送端对数据包进行延迟和抖动调整,以实现对整个通信系统的时延和抖动的控制。其主要作用包括: 改善传输质量:通…...

基于SSM+Jsp的校园餐厅管理

开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包…...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型&#xff08;LLM&#xff09;参数规模的增长&#xff0c;推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长&#xff0c;而KV缓存的内存消耗可能高达数十GB&#xff08;例如Llama2-7B处理100K token时需50GB内存&a…...