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

简介: 【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日志并进行多维度分析。
相关文章
|
4天前
|
消息中间件 安全 Unix
SSH配置多台服务器之间的免密登陆以及登陆别名
SSH配置多台服务器之间的免密登陆以及登陆别名
16 1
|
7天前
|
Shell 网络安全 开发工具
配置SSH时候,Permission denied问题解决方法
配置SSH时候,Permission denied问题解决方法
23 4
|
1月前
|
开发工具 数据库 数据安全/隐私保护
【Git】—— git的配置
【Git】—— git的配置
【Git】—— git的配置
|
1月前
|
安全 Shell 网络安全
ssh配置无密码验证
ssh配置无密码验证要在SSH中配置无密码验证,您需要使用公钥验证【2月更文挑战第18天】
36 1
|
1月前
|
Shell 网络安全 数据安全/隐私保护
配置多个SSH公钥流程
配置多个SSH公钥流程
|
1月前
|
存储 安全 网络安全
Git 安全远程访问:SSH 密钥对生成、添加和连接步骤解析
SSH(Secure Shell)是一种用于安全远程访问的协议,它提供了加密通信和身份验证机制。在使用 SSH 连接到远程 Git 存储库时,您可以使用 SSH 密钥对来确保安全性。以下是关于如何生成和使用 SSH 密钥对的详细步骤: 生成 SSH 密钥对
98 2
|
2月前
|
网络安全 开发工具 数据安全/隐私保护
[Git]关联远程库的两种方法及配置
本篇文章对gitee公钥配置、同电脑连接多个gitee账号公钥配置等方法进行阐述, 如果文中阐述不全或不对的,多多交流。
69 0
[Git]关联远程库的两种方法及配置
mjb
|
Shell 网络安全 开发工具
Git多个SSH KEYS解决方案(含windows自动化、TortoiseGit、SourceTree等)
工作过程中,经常会使用到多个git仓库,每个git仓库对应一个账号,可以理解为每个git仓库对应一个ssh key,因此我们需要管理多个ssh key。 一、快速创建ssh key 1. 创建SSH keys: mkdir -p ~/.ssh s...
mjb
11624 0
|
5天前
|
缓存 数据可视化 网络安全
Git命令大全
Git命令大全
36 1
|
8天前
|
开发工具 git
Git教程:深入了解删除分支的命令
【4月更文挑战第3天】
35 0
Git教程:深入了解删除分支的命令