当前位置: 首页 > 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-->克隆

相关文章:

  • Java程序之简单求和
  • 第一章 项目简介创建主窗体
  • 【CRASH】freelist异常导致的异常地址访问
  • zip文件上传到linux服务器文件大小发生变化
  • DSP C6000教学实验箱操作教程_数字图像处理:5-3 图像缩放
  • 《人工智能导论》书面作业
  • 帝国cms批量取消文章审核-把已审核的文章改成未审核的方法
  • EasyCVR/EasyDSS无人机直播技术助力野生动物监测
  • Aeron:Multi-Destination-Cast
  • Arduino单片机详解
  • 深入了解Redis的TYPE命令
  • Python启多个线程,运行多个Python文件
  • 力扣191. 位1的个数
  • HTML+CSS+PHP实现网页留言板功能(需要创建数据库)
  • VB点击按钮,改变按钮的文字和字体
  • Docker入门(二) - Dockerfile
  • isset在php5.6-和php7.0+的一些差异
  • Java 网络编程(2):UDP 的使用
  • Java深入 - 深入理解Java集合
  • Selenium实战教程系列(二)---元素定位
  • Vim 折腾记
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 关于 Cirru Editor 存储格式
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • 《天龙八部3D》Unity技术方案揭秘
  • Play Store发现SimBad恶意软件,1.5亿Android用户成受害者 ...
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • #define,static,const,三种常量的区别
  • #include
  • #stm32驱动外设模块总结w5500模块
  • ( 10 )MySQL中的外键
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (33)STM32——485实验笔记
  • (solr系列:一)使用tomcat部署solr服务
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (附源码)c#+winform实现远程开机(广域网可用)
  • (九)信息融合方式简介
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (一)RocketMQ初步认识
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • ***测试-HTTP方法
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net core使用ef 6
  • .NET IoC 容器(三)Autofac
  • .NET 给NuGet包添加Readme
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  • @antv/x6 利用interacting方法来设置禁止结点移动的方法实现。
  • @Bean, @Component, @Configuration简析
  • @RequestBody与@ModelAttribute