【Git】TortoiseGit(小乌龟)配置SSH和使用

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 【Git】TortoiseGit(小乌龟)配置SSH和使用


1、TortoiseGit(小乌龟)配置SSH

Gitee 提供了基于SSH协议的Git服务,在使用SSH协议访问仓库之前,需要先配置好账户/仓库的SSH公钥。(有HTTPS协议和SSH协议 SSH协议好像更安全)

预装软件git(Windows版)和TortoiseGit(小乌龟)

设置全局属性

1.1、右击打开Git命令窗口

1.2、设置Git的全局name和email

(在我们执行git pull等一些操作的时候,会提示你它不知道你是谁,你就需要配置name和email.)

git config --global user.name "xx"      
git config --global user.email "xx@163.com"

注意:这里的 xxxxx@xxxxx.com 只是生成的 sshkey 的名称,并不约束或要求具体命名为某个邮箱可以qq,可以网易。现网的大部分教程均讲解的使用邮箱生成,其一开始的初衷仅仅是为了便于辨识所以使用了邮箱。

1.3、查看是全局名字和邮箱是否设置成功

git config --list(查看配置的信息)

1.4、生成 sshkey秘钥

1、查看是否已经有了ssh秘钥:cd ~/.ssh  一般都是C:\Users\shlc4\.ssh 里面有两个文件一个是公钥文件id_rsa.pub 一个密钥文件id_rsa

如果有这个文件会无法生成新的秘钥需要提前删掉或备份,第一次安装是没有的,不用管

输入命令如图提示说明没有这个路径则进行下面操作

2、生成密钥:

2.1生成公钥

ssh-keygen -t rsa

按照提示完成三次回车,即可生成 ssh key(如图所示)。生成了了id_rsa和id_rsa.pub

3、查看id_rsa.pub公钥

cat ~/.ssh/id_rsa.pub

4、复制选中内容添加到Gitee上 点击个人头像 「设置」->「安全设置」->「SSH公钥」 ,添加生成的 public key 添加到仓库中。(将id_rsa_pub公钥配置到gitee)

5、生成known_hosts文件(三个文件缺一不可)

添加后,在Git命令窗口中继续输入

ssh -T git@gitee.com

四、最重要的一步找到 ssh.exe,否则的话会报各种各样的错误,有权限不足,有让你输入git账户密码的,因为小乌龟和git有一定冲突默认路径是C:\Program Files\TortoiseGit\bin\sshaskpass.exe需要改成C:\Program Files\Git\usr\bin\ssh.exe

应用确定一下就可以了,后面就可以使用ssh方式从gitee仓库克隆拉取代码

2、TortoiseGit(小乌龟)的使用

2.1、创建本地仓库

我们新建一个空的文件夹:

然后进入tortoise目录,右键操作:

弹出提示,不要勾选:

查看目录,发现生成.git文件夹:

2.2、添加文件并提交

创建新的文件:

编写内容:

在文件夹中右键操作:

提示:这一步等同于我们的 git add readme.txt

此时直接点击提交,即可完成:git commit 操作:

提示:

2.3、管理修改

2.3.1、差异对比

修改readme.txt:

右键操作:

结果:

2.3.2、提交修改

直接在文件上选择右键,提交即可:

2.3.3、查看提交日志

选中文件,右键菜单中,选中查看日志:

提交的日志信息:

2.3.4、版本回退

现在我们再次修改readme.txt,并且提交

查看日志:

假如我们要回到上一个版本,也就是第2次提交。

我们选中第2次提交,然后右键,选中:重置“master”到这个版本

弹出菜单,这里选中Hard模式,然后确定:

再次查看日志,只剩下第1和第2次提交了。并且HEAD已经设置到了第2次提交位置

文件也回滚了:

如果我现在后悔了,想再次回到第3次提交怎么办?现在连日志都没有了!

此时,在空白处点击右键,选中 显示引用记录

弹出所有操作的日志信息:

现在,我们找到第3次提交,右键,选中:重置“master”到这个版本

结果,第3次提交又回来了!

文件内容回来了:

2.3.5、撤销修改

我们现在修改文件:

现在后悔了,想要还原到修改以前。

我们可以选中文件,右键。然后选中菜单:还原。

点击确定:

还原成功:

查看文件:

2.4、访问远程仓库

2.4.1、设置tortoise的SSH

由于安装时,我们并没有设定SSH信息,因此默认tortoise默认使用的ssh工具是“PuTTY”。

然而,git Bash使用的ssh工具是“openSSH”,如果想让TortoiseGit也使用刚才生成的密钥可以做如下配置:

找到git安装目录下的ssh.exe文件:

2.4.2、关联远程仓库

这里的四个选项:

  1. 远端仓库名称,一般交origin
  2. URL:远程仓库地址
  3. 推送URL:同上
  4. Putty密钥:我们用git bash 生成的私钥。

2.4.3、推送本地仓库

在空白处点右键,选择 “Git同步”:

弹出菜单中,选择将master推送到远程仓库的master:

成功:

私服中也显示了最新的信息:

2.4.4、从远程仓库拉取

现在,我们先在远程仓库修改数据:

然后在本地的tortise文件夹点击右键,菜单中选择:拉取:

成功:

查看文件:

2.5、分支管理

2.5.1、创建分支

在文件夹的空白处点击右键。选择创建分支:

填写分支名称和说明

查看日志,发现已经有了dev分支:

2.5.2、切换分支

在空白处选择右键,菜单中选择: 切换/检出

选择要切换的分支

在dev分支中。修改readme文件

提交修改。

然后切换到master:

查看文件内容,发现并没有变化,因为刚才的修改是在dev完成的。master没有影响。

2.5.3、合并分支

空白处点击右键,选择合并菜单

选择将dev合并当当前分支:

成功:

查看内容:

2.5.4、解决冲突

切换到dev,然后进行修改

提交数据。

切换到master,修改readme:

然后提交修改

尝试用master合并dev:

结果失败了,因为有冲突:

查看文件:

手动解决:根据需求去处理。这里我们假设两者都保留:

标记为解决:

解决完成,直接提交:

提示信息:

查看日志:

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
12天前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
33 2
|
17天前
|
算法 网络安全 开发工具
[Git]关联远程库的两种方法及配置
本文介绍了 git 的四种连接方式:ssh 连接、HTTPS 连接、SVN 连接和 SVN + ssh 连接,重点讲解了 HTTPS 和 ssh 连接方式的配置及注意事项。文章详细解释了 HTTPS 连接的身份验证过程、常见问题及解决方案,以及 ssh 连接的公钥和私钥的创建、配置方法。此外,还介绍了如何在同一台电脑上连接多个 gitee 账号的方法。
55 0
[Git]关联远程库的两种方法及配置
|
1月前
|
开发工具 git
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
39 1
|
2月前
|
网络协议 开发工具 网络虚拟化
SourceTree git 配置代理
SourceTree git 配置代理
70 1
|
1月前
|
编译器 网络安全 开发工具
git学习五:切换本地仓库出现的问题。修改git配置初始化。error:src refspec master does not match any。错误总结,送上几个案例
这篇文章是关于Git使用中遇到的一些问题及其解决方案的总结,包括切换本地仓库时的问题、修改Git初始化配置、以及解决"error: src refspec master does not match any"错误等。
55 0
|
2月前
|
存储 Shell 开发工具
内核维护者手册 - 配置Git【ChatGPT】
内核维护者手册 - 配置Git【ChatGPT】
|
3月前
|
网络安全 Windows
在Windows电脑上启动并配置SSH服务
在Windows电脑上启动并配置SSH服务
707 0
|
网络安全
|
网络安全 Linux 数据安全/隐私保护
不能成功配置ssh信任,提示Agent admitted failure to sign using the key.
不能成功配置ssh信任,提示Agent admitted failure to sign using the key. 问题现象:      做完信任之后要需要输密码: [grid@db01 .
1508 0