Git TortoiseGit 详细安装使用教程

前言

  • Git 是一个免费的开源分布式版本控制系统,是用来保存工程源代码历史状态的命令行工具,旨在处理从小型到非常大型的项目,速度快、效率高。《请查阅Git详细说明》。
  • TortoiseGit 是 Git 的 Windows Shell 界面工具,基于 TortoiseSVN。它是开源的,可以完全使用免费提供的软件构建。提供的支持,例如提交、显示日志、区分两个版本、创建分支和标签、创建补丁等。《请查阅TortoiseGit详细说明》。
  • TortoiseGit 必须依赖 Git 的环境配置运行,所以在安装 TortoiseGit 前,要先安装 Git 工具。 

一、Git 安装使用教程 

1.1 下载 Git 客户端

以 Windows 64 位系统为例,进行安装使用说明。

Git官网下载地址:Git Downloads

1.2 安装 Git 客户端 

目前最新版本为 "Git-2.44.0-64-bit_2.exe",直接双击运行 。

  

  • 进入安装导向界面,点击 <Next> 

  • 选择安装路径,然后点击 <Next> 

  • 接下来按照默认配置,一值点击 <Next> 即可  

  • 最后安装时,点击 <Install> 

  

  • 安装完成,点击 <Finish>

*注:如果不想看发行说明,在点击 <Finish> 前,先把 "View Release Notes" 的勾去掉。

1.3 验证 Git 客户端是否安装成功 

  • 在任意文件夹下点击右键,出现 "Git Bash here" 快捷键表示安装成功 
  • 输入 "git --version" 查看版本信息

1.4 使用 Git 客户端创建 SSH 密钥

  • 查看 SSH 公钥的方法:在任意文件夹下点击右键,选择 Git GUI here。弹出的界面如下:

  • 点击主菜单的【Help】→【Show SSH Key】  

*注:如果没有 SSH 密钥,界面内容是空白的。 

  • 点击 "Generate Key" 生成 SSH 密钥(如果设置密码为空,直接点击OK即可) 
  • 点击 "Copy To Clibboard",把 SSH 的公钥粘贴到 Git 服务器的配置中【具体参考: 2.4.2

  

SSH 密钥说明: 

1. 点击 "Copy To Clibboard" 是把 SSH 公钥复制到粘贴板;

2. 通过 Git 生成的密钥一般都存在 C:\Users\XX\.ssh 目录下(其中 XX 是表示电脑账户)。

1.5 Git 拉取远程服务器源码 

为了验证 Git 客户端可用,在 github 上随便拉取一份经典的开源代码,成功下载中...

二、TortoiseGit 安装使用教程 

2.1  TortoiseGit 客户端与语言包下载

以 Windows 64 位系统为例,进行安装使用说明。 

 TortoiseGit官网下载地址:Download TortoiseGit

*注:目前最新稳定版本为 2.15.0.0。如果大家不习惯使用英文版本,可以下载中文语言包安装。

2.2 TortoiseGit 客户端与语言包安装 

安装顺序特别说明: 

1. 先安装 TortoiseGit 客户端;

2. 再安装语言包;

*注意:

  • TortoiseGit 客户端安装到首次出现导向界面时,会有语言的选项;
  • 此时,可先把中文语言包安装完成,再点击 TortoiseGit 刷新按钮,然后选择中文简体即可。

2.2.1 TortoiseGit 客户端安装

  • 直接双击运行,然后点击 <Next> 默认安装

*注:如果不想安装到C盘,可自行选择安装路径

  • 剩下的安装流程,一直点击 <Next> 默认安装即可
  • 安装到导向界面时,先不要点击"下一页"
  • 可以先跳到 步骤【2.2.3】完成语言包安装后,再回来接着操作

  • 此时,假设你已跳到 步骤【2.2.3】完成了语言包安装
  • 接着点击刷新按钮,选择中文简体

  • 点击 <下一页>,系统会自动选择 git.exe 运行环境,默认即可 

  • 安装过程中,需要填写个人 git 账号和邮箱 

2.2.2 使用 PuTTYgen 创建 SSH 密钥 

  • 如果你之前没有按照【1.4】步骤使用 Git 客户端创建 SSH 密钥
  • 在此,还可以通过 TortoiseGit 自带的 PuTTYgen 工具创建 SSH 密钥
  • 点击 "Generate PuTTY key pair" 创建 SSH 密钥

 

  • 点击 "Save private key" 保存 SSH 私有密钥(要记住保存路径!!!
  • Public Key 复制粘贴到 Git 服务器上,配置 SSH Key【具体参考: 2.4.2

 

注:我选择在 Documents 下创建一个 ssh 目录来存放 SSH 密钥对(私钥和公钥)。 

2.2.3 安装中文语言包 

  • 直接双击运行,一直默认安装即可

2.2.4 查看 TortoiseGit 汉化情况

  • 完成 步骤【2.2.1】和【2.2.3】安装后,在任意文件夹点击右键,可以看到 TortoiseGit 已成功汉化

2.3 TortoiseGit 常规配置 

如果你在上述的安装过程,不小心错过了一些关键步骤,也不必惊慌,在此将会重新介绍。

2.3.1 TortoiseGit 菜单配置

  • 在本地创建一个空目录 (例如 Test),建议: 路径中不要包含中文
  • 在空白处点击右键, 选择  TortoiseGit --> Settings

 

  • 在空白处重新点击右键,可以看到弹出菜单已经汉化成功 

  • 从上图可以看到 "Git 克隆" 字样会显示在右键菜单里
  • 点击 “设置” -- "右键菜单",把复选框的默认勾选都去掉,让右键菜单保持干净。

 

2.3.2 TortoiseGit 客户端 Git 配置

以下内容将会介绍,如何解决每次拉取或提交代码时,免除输入用户名及密码的操作。 

  • 每次通过 TortoiseGit 拉取或提交代码, 默认会要求输入用户名和密码

2.3.2.1 方法一:永久免除输入用户名和密码
  • 在任意文件夹点击右键,选择 "TortoiseGit" -- "设置" -- "Git"
  • 先填写自己远程服务器的用户名及邮件,然后点击 "应用"

  • 再点击 "编辑全局.git/config(O)"
  • 打开全局配置文件,并且添加如下内容
[user]name = testemail = test@example.comsigningkey = admin
[credential]helper = store

添加的内容说明:

  • name:服务器用户名称(例如 test)
  • signingkey:服务器用户密码(例如 admin)
  • Email:提供给别人联系的邮箱
  • helper = store:永久记住服务器的用户名和密码(这个配置是免密的关键
2.3.2.2 方法二:只对指定仓库免除输入用户名和密码 
  • 在一个已经拉取远程服务器项目代码的目录里 (例如 Test),只对当前项目仓库免密操作
  • 在当前目录点击右键,选择 "TortoiseGit" -- "设置" -- "Git" -- "编辑本地.git/config(L)"

  • 在打开的文件里,添加如下内容
  • 保存后,以后在这个仓库下拉取或提交代码,就不用重复验证了,因为小乌龟已经记录下了当前仓库的用户和密码。

[credential]helper = store

2.4 TortoiseGit 秘钥配置

2.4.1 SSH 密钥创建 

  • 关于 SSH 密钥创建方法,我已经在【1.4】和【2.2.2】小节都已经说过了
  • 这两种方法,任意选择其中一种方法创建即可
  • 如果你错过了【2.2.2】的创建方法,并且还想用 PuTTY 来创建 SSH 密钥
  • 那么可点击电脑 "开始" --> "PuTTYgen",进入 PuTTY Key Generator 
  • 具体操作方法请参考:步骤【2.2.2】

2.4.2 将 SSH 公钥填写到 Git 服务器配置

这里以 GitBlit 服务器为例:

  • 方法一:参考步骤【1.4】,点击 "Copy To Clibboard",把 SSH 的公钥粘贴 GitBlit 服务器对应用户的后台配置中
  • 方法二:参考步骤【2.2.2】,在 "PuTTY Key Generator" 界面,将 Public Key 复制粘贴GitBlit 服务器对应用户的后台配置中
  • 以上方法,任选一种即可

  • 如果你选择了方法二,将 Public Key 粘贴到 Git 服务器配置里
  • 那么点击打开 "开始" --> "Pageant"
  • 添加前面 步骤【2.2.2】生成的 SSH 私钥 ssh-rsa.ppk。然后关闭

 

Pageant 添加 SSH 私钥的说明:

  • 远程服务器已经添加了 SSH 公钥
  • 使用 TortoiseGit 客户端向服务器拉取或提交代码时,Pageant 必须启动且添加了对应的私钥。否则会报错!!!

三、TortoiseGit 客户端与服务器交互

3.1 克隆或拉取远程服务器代码 

  • 新建 Test 目录,然后点击右键 --> "TortoiseGit" --> "克隆"
  • 输入远程服务器URL,选择 Putty 密钥 (即 SSH 私钥)
  • 点击确定,开始拉取服务器版本库代码

 

3.2 本地仓库提交代码到远程服务器

  • 新增文件
  • 修改文件内容 
  • 描述提交日志信息
  • 将代码或新增文件,提交到远程服务器
  • 点击推送(到远程服务器)
  • 最后点击 "确定" 即可

 

四、Git 服务器安装使用教程 

  • 如果公司或个人想在 Windows 环境下搭建私有的 Git 服务器
  • 那么,这个开源的 GitBlit 是一个不错的选择
  • 详细教程请查阅《Windows搭建GitBlit服务器详细教程》

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

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

相关文章

05_FreeRTOS信号量

信号量 信号量信号量简介常用信号量API函数 信号量 信号量简介 信号量&#xff08;Semaphore&#xff09;是一种实现任务间通信的机制&#xff0c;可以实现任务之间同步或临界资源的互斥访问&#xff0c;常用于协助一组相互竞争的任务来访问临界资源。在多任务系统中&#xf…

wireshark RTP分析参数

主要看丢弃和Delta&#xff0c; 丢弃就是丢掉的udp包&#xff0c;所占的比率 Delta是当前udp包接收到的时间减去上一个udp包接收到的时间 根据载荷可以知道正确的delta应该是多少&#xff0c;比如G711A&#xff0c;ptime20&#xff0c;那么delta理论上应该趋近于20. 这里的de…

python创建线程和结束线程

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 python创建线程和结束线程 在 Python 中&#xff0c;线程是一种轻量级的执行单元&#xff…

进程概念(进程第1篇)【Linux复习篇】

目录 1、冯诺依曼体系结构怎么画&#xff1f;中央处理器是什么&#xff1f;存储器是什么&#xff1f;每个部分有什么作用&#xff1f; 2、什么是操作系统&#xff1f; 3、什么叫进程&#xff1f;操作系统如何管理进程的&#xff1f; 4、怎么查看进程&#xff1f; 5、C语言…

基于MLP算法实现交通流量预测(Pytorch版)

在海量的城市数据中&#xff0c;交通流量数据无疑是揭示城市运行脉络、洞察出行规律的关键要素之一。实时且精准的交通流量预测不仅能为交通规划者提供科学决策依据&#xff0c;助力提升道路使用效率、缓解交通拥堵&#xff0c;还能为公众出行提供参考&#xff0c;实现个性化导…

指令和界面【Linux】

指令和界面 前言一、指令 vs 界面交互的需求满足需求的第一阶段——指令满足需求的第二阶段-界面时间 二、指令和界面交互区别为什么要学命令行总结 前言 Linux操作系统提供了丰富的命令行界面和图形用户界面工具&#xff0c;用户可以根据自己的需求选择适合的界面进行操作。命…

【好书推荐7】《机器学习平台架构实战》

【好书推荐7】《机器学习平台架构实战》 写在最前面《机器学习平台架构实战》编辑推荐内容简介作者简介目  录前  言本书读者内容介绍充分利用本书下载示例代码文件下载彩色图像本书约定 &#x1f308;你好呀&#xff01;我是 是Yu欸 &#x1f30c; 2024每日百字篆刻时光&…

论文阅读:BEVBert: Multimodal Map Pre-training for Language-guided Navigation

BEVBert&#xff1a;语言引导导航的多模态地图预训练 摘要 现存的问题&#xff1a;目前大多数现有的预训练方法都采用离散的全景图来学习视觉-文本关联。这要求模型隐式关联全景图中不完整、重复的观察结果&#xff0c;这可能会损害智能体的空间理解。 本文解决方案&#xf…

TikTok账号0播放是限流了吗?想要播放破万,试试这些方法!

前言 账号0播放问题&#xff0c;想必困扰着许多的TikTok运营同学。精心制作的短视频发布在TikTok&#xff0c;不是零播放&#xff0c;就是仅自己可见。那么&#xff0c;TikTok账号0播放是不是真的意味着被限流了呢&#xff1f;本篇总结了账号0播放的原因并附上解决方案&#xf…

[Flutter3] Json转dart模型举例

记录一下 Android studio plugin -> FlutterJsonBeanFactory 处理json转dart 模型 案例 json字符串, 一个 response的data返回数据 {"code":1,"msg":"\u64cd\u4f5c\u6210\u529f","data":{"list":{"id":"8…

SwiftUI 5.0(iOS 17.0)触摸反馈“震荡波”与触发器模式趣谈

概览 要想创作出一款精彩绝伦的 App&#xff0c;绚丽的界面和灵动的动画并不是唯一吸引用户的要素。有时我们还希望让用户真切的感受到操作引发的触觉反馈&#xff0c;直击使用者的灵魂。 所幸的是新版 SwiftUI 原生提供了实现触觉震动反馈的机制。在介绍它之后我们还将进一步…

等保测评之主机测评详解(二级)

等保测评之主机测评详解&#xff08;二级&#xff09;服务器——Windows 身份鉴别: 测评项a&#xff09;&#xff1a; a&#xff09;应对登录的用户进行身份标识和鉴别&#xff0c;身份标识具有唯一性&#xff0c;身份鉴别信息具有复杂度要求并定期更换&#xff1b; 整改方…

antd中Upload上传图片宽高限制以及上传文件的格式限制

项目中有一个需求&#xff0c;要上传轮播图&#xff0c;且有尺寸要求&#xff0c;所以就需要在上传图片的时候进行尺寸限制&#xff0c;使用了Upload组件&#xff0c;需要在组件的beforeUpload方法中进行限制。 定义一个上传前的方法&#xff0c;并且添加一个图片尺寸获取的方…

【Redis】Zset 数据类型

文章目录 常用命令zaddzcard & zcountzrange & zrevrangezpopmax & bzpopmaxzpopmin & bzpopminzrank & zrevrankzscore & zremzremrangebyrank & zremrangebyscorezincrby 多个集合间的交互命令交集 & zinterstore并集 & sunionstore 内部…

【声呐仿真】学习记录0.5-配置ssh远程连接docker、在docker中使用nvidia显卡

【声呐仿真】学习记录0.5-配置ssh远程连接docker、在docker中使用nvidia显卡 配置ssh远程连接docker1.端口映射2.配置ssh 在docker中使用nvidia显卡配置CUDA 注意&#xff1a;之前已经创建过容器的&#xff0c;需要打包成镜像&#xff0c;重新创建容器&#xff0c;因为要在创建…

【C++庖丁解牛】C++11---右值引用和移动语义

&#x1f341;你好&#xff0c;我是 RO-BERRY &#x1f4d7; 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f384;感谢你的陪伴与支持 &#xff0c;故事既有了开头&#xff0c;就要画上一个完美的句号&#xff0c;让我们一起加油 目录 1 左值引用和右值引用2 左…

第一个Spring Boot程序

目录 一、Spring Boot介绍 二、创建Spring Boot项目 1、插件安装&#xff08;专业版不需要&#xff09; 2、创建SpringBoot项目 &#xff08;1&#xff09;这里如果插件下载失败&#xff0c;解决方案&#xff1a; &#xff08;2&#xff09;项目启动失败&#xff0c;解决…

web测试基础知识

目录 web系统的基础 web概念(worldwideweb) 网络结构 发展 架构 B/S C/S P2P 工作原理 静态页面 动态页面 web客户端技术 浏览器的核心--渲染引擎 web服务器端技术 web服务器 应用服务器 集群环境 数据库 案例-URL 协议类型 主机名 端口 IP地址 分类 …

C#开发的全套成熟的LIS系统源码JavaScript+SQLserver 2012区域云LIS系统源码

C#开发的全套成熟的LIS系统源码JavaScriptSQLserver 2012区域云LIS系统源码 医院云LIS系统是一套成熟的实验室信息管理系统&#xff0c;目前已在多家三级级医院应用&#xff0c;并不断更新。云LIS系统是为病人为中心、以业务处理为基础、以提高检验科室管理水平和工作效率为目标…

贪心算法练习day.1

理论基础 贪心算法是一种常见的解决优化问题的方法&#xff0c;其基本思想就是在问题的每个决策阶段&#xff0c;都选择当前看起来最优的选择&#xff0c;即贪心地做出局部的最优决策&#xff0c;以此得到全局的最优解&#xff0c;例如在十张面额不同的钞票&#xff0c;让我们…