Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等

目录

一、Git图形化界面的使用

1.1 前期准备

1.2 Git图形化界面的使用

1.2.1 文件代码克隆

1.2.2 文件GIt管理效果查看

1.2.3 Git Gui页面详情图解

1.2.4 Git Gui功能演示效果

(1)暂存

(2)提交与注释

(3)Push远程推送

二、SSH协议

2.1 定义

2.2 特点

2.3 SSH协议与SSL/TLS协议的区别

2.3.1 设计目的和应用场景

2.3.2 通信方式

2.3.3 端口和协议

2.3.4 身份验证方式

2.3.5 应用领域

2.3.6 工作层次

2.4 什么是SSH Key

2.5 使用SSH协议克隆对应文件代码

2.5.1 前期准备

(1)远程仓库代码状态

(2)设置SSH公钥

2.5.2 SSH协议克隆文件代码

(1)克隆步骤

(2)克隆后效果 

三、IDEA集成Git

3.1 配置git.exe文件

3.2 安装Gitee插件

3.3 在IDEA中登录Gitee

3.3.1 生成Token令牌

3.3.2 登录Gitee

3.4 将项目上传到码云(项目分享)

3.2 IDEA克隆已上传的码云代码

3.2.1 复制文件代码的SSH路径

3.2.2 克隆代码

3.3 IDEA中提交推送代码

3.3.1 提交

3.3.2 推送

3.4 IDEA中更新非己所推送的代码 

3.5 修改同类代码合并问题


一、Git图形化界面的使用

1.1 前期准备

Gitee新建仓库,具体操作如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第1张图片

初始化readme文件:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第2张图片

初始化完成之后的效果:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第3张图片

1.2 Git图形化界面的使用

1.2.1 文件代码克隆

然后在回到本地资源管理器中新建一个路径,再右击鼠标打开Git GUI here,及具体操作如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第4张图片

这里需要提到,如果是按上篇博客用Git Bash去克隆代码的话,则必须使用命令git clone,使用Git Gui的话则不需要用命令操作。

具体操作如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第5张图片

 Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第6张图片

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第7张图片

克隆后的效果:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第8张图片

1.2.2 文件GIt管理效果查看

可以看到此时里面啥也没有,这时候我们新建Person.java,并且往里面写点代码,如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第9张图片

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第10张图片

然后保存,回到Git Gui界面,点击刷新,即可看到我们刚刚新建的文件,如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第11张图片

此时,我们将刚刚新建的Person中的java代码进行改动,并且在Person所在目录下新增含有查询语句的sql文件,如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第12张图片

然后回到Git Gui界面刷新,刷新后的界面如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第13张图片

紧接着我们将Person暂存,操作及效果如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第14张图片

其实到这里大致也看出来了,Git Gui图形化界面相较于命令窗口可以很大程度的加快我们的操作时间,提高我们的开发效率。

1.2.3 Git Gui页面详情图解

这里我们需要先了解Git Gui界面的一些详情,如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第15张图片

1.2.4 Git Gui功能演示效果

(1)暂存

暂存演示效果,如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第16张图片

(2)提交与注释

提交与注释演示效果,如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第17张图片

(3)Push远程推送

进行Push远程推送前:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第18张图片

 远程推送演示效果:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第19张图片

进行Push远程推送后:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第20张图片

二、SSH协议

2.1 定义

  • SSH(Secure Shell)是一种加密的网络协议,用于在不安全的网络上安全地运行网络服务。SSH最常见的用途是通过安全的方式远程登录到计算机系统,但它还可以用于安全地传输文件和执行各种网络服务。SSH的主要设计目标是提供强大的身份验证、加密通信和数据完整性。
  • SSH协议有两个主要版本,即SSH-1和SSH-2。SSH-2是SSH协议的较新版本,它在安全性和功能上都有一些改进,而SSH-1则已经过时。 SSH的工作方式涉及客户端和服务器之间的安全连接,通过这个连接进行加密的远程终端访问、文件传输和命令执行。

2.2 特点

SSH(Secure Shell)协议具有以下特点:

  1. 加密通信: SSH协议提供了安全的数据传输,使用加密技术来保护通信的机密性。所有通过SSH协议传输的数据都经过加密,包括用户名、密码、执行的命令和传输的文件。

  2. 身份验证: SSH支持多种身份验证方法,其中最常见的是公钥认证和密码认证。公钥认证是一种更加安全的身份验证方式,可以降低密码泄露的风险。

  3. 端到端的安全性: SSH协议提供端到端的安全性,确保数据在本地计算机和远程服务器之间的传输是受保护的。即使在不受信任的网络中传输数据,也不易受到中间人攻击。

  4. 远程访问: SSH允许用户从本地计算机远程连接到远程主机,并执行命令、访问远程Shell会话。这在服务器管理和维护方面非常有用。

  5. 文件传输: SSH支持安全的文件传输协议,如SCP(Secure Copy Protocol)和SFTP(SSH File Transfer Protocol),使用户能够在本地计算机和远程服务器之间安全地传输文件。

  6. 灵活性: SSH协议非常灵活,可以在不同操作系统和平台上运行,支持各种加密算法和身份验证方法。这使得它适用于多种环境。

  7. 多版本支持: SSH协议有两个主要版本,SSH-1和SSH-2。SSH-2是较新、更安全的版本,广泛使用,而SSH-1已经过时。

  8. 配置和自定义: 用户可以通过配置文件来自定义SSH连接的参数,以适应其需求。这包括定义身份验证方法、指定端口号、设置密钥等。

  9. 秘钥管理: SSH允许用户管理公钥和私钥对,使其更容易进行身份验证。SSH代理可以帮助用户有效地管理他们的密钥。

  10. Known Hosts: SSH客户端维护一个"known_hosts"文件,其中包含已知主机的公钥。这有助于防止中间人攻击,因为客户端可以验证连接的远程主机的身份。

总之,SSH协议的主要特点是提供了安全、加密的远程访问和文件传输服务,适用于各种计算机网络环境,并提供多种身份验证方法以确保通信的安全性。这使得SSH成为许多组织和个人的首选工具,用于保护敏感数据和进行远程管理。

2.3 SSH协议与SSL/TLS协议的区别

SSH协议和SSL/TLS协议是两种不同的安全通信协议,虽然它们都用于加密通信,但在设计目的、使用场景和工作方式上有一些关键的区别。

2.3.1 设计目的和应用场景

  • SSH(Secure Shell): 主要设计用于远程登录和执行命令。它提供了一个安全的命令行接口,使用户能够在远程计算机上执行操作。除了远程登录,SSH还支持安全文件传输和端口转发等功能。

  • SSL/TLS(Secure Sockets Layer/Transport Layer Security): 主要设计用于保护网络通信的安全性,广泛应用于Web浏览器与服务器之间的加密通信。TLS是SSL的继任者,两者通常被通称为SSL/TLS。SSL/TLS在Web浏览器中用于加密HTTPS连接,提供了端到端的加密通信,同时也可用于其他应用程序。

2.3.2 通信方式

  • SSH: 提供点对点的安全通信,通常用于远程管理和控制。SSH会话经常以命令行方式进行,但也可以用于图形用户界面(GUI)的远程桌面。

  • SSL/TLS: 通常用于端到端的安全通信,例如在客户端和服务器之间的浏览器与Web服务器之间的通信。SSL/TLS可以用于各种应用程序,不仅限于远程管理。

2.3.3 端口和协议

  • SSH: 默认使用22号端口,基于TCP协议。

  • SSL/TLS: 通常在HTTP的基础上,通过加密形成HTTPS,使用的端口是443。可以在不同的应用层协议上实现,如HTTPS(HTTP over TLS)。

2.3.4 身份验证方式

  • SSH: 支持多种身份验证方式,包括密码、公钥和其他方法。

  • SSL/TLS: 通常使用数字证书来进行身份验证,其中服务器和客户端都可以验证对方的身份。

2.3.5 应用领域

  • SSH: 主要用于系统管理、远程终端访问和文件传输等。

  • SSL/TLS: 主要用于加密Web通信,保护数据在浏览器和服务器之间的传输。

2.3.6 工作层次

  • SSH: 在应用层之上工作,提供了一个安全的命令行接口。

  • SSL/TLS: 在传输层之上工作,为应用层提供加密和认证服务。

总体来说,虽然SSH和SSL/TLS都为安全通信提供了解决方案,但它们在设计目的和使用场景上存在差异。SSH更专注于远程管理和终端访问,而SSL/TLS广泛应用于网络通信的安全保护,特别是在Web浏览器与服务器之间的加密通信。

2.4 什么是SSH Key

SSH(Secure Shell)密钥是一种用于在计算机之间进行安全通信的加密密钥。SSH协议主要用于远程登录和执行命令,以及安全地传输文件。SSH密钥通过非对称加密技术实现安全通信。

SSH密钥是一对密钥,包括公钥私钥

  1. 私钥(Private Key): 私钥是保存在用户本地计算机上的敏感文件,用于对信息进行加密和数字签名。私钥必须保持机密,不应该被共享或泄露。

  2. 公钥(Public Key): 公钥是与私钥配对的公共部分,可以在网络上自由传播。公钥用于验证由私钥签名的信息或加密的数据。其他用户可以使用你的公钥加密信息,只有拥有私钥的用户才能解密。

使用SSH密钥的主要目的是确保通信的机密性和完整性,同时提供身份验证机制。当你连接到一个支持SSH的服务器时,你可以使用SSH密钥对进行身份验证,而不是输入密码。

SSH密钥的使用流程:

  1. 生成密钥对: 通过使用SSH密钥生成工具,你可以生成一对公私钥。

  2. 将公钥上传到服务器: 服务器上的SSH服务需要知道你的公钥以进行身份验证。通常,你需要将公钥添加到服务器上的~/.ssh/authorized_keys文件中。

  3. 使用私钥进行身份验证: 当你连接到服务器时,SSH客户端将使用私钥进行身份验证。如果私钥匹配服务器上的公钥,则连接将被授权。

  4. 保护私钥: 由于私钥是安全性的关键,确保私钥文件只有你有权访问,并在可能的情况下使用密码保护。

使用SSH密钥相对于密码身份验证具有更高的安全性,因为私钥通常更难以猜测或被破解

2.5 使用SSH协议克隆对应文件代码

2.5.1 前期准备

(1)远程仓库代码状态

在使用SSH克隆代码前,我们需要将远程仓库(即gitee码云)的开源状态更改为私有,操作如下:

点击管理:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第21张图片

 将是否开源更改为私有:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第22张图片

(2)设置SSH公钥

具体步骤如下:

首先打开计算机当前用户下的本地资源,找到.gitconfig文件,如下:

双击用记事本打开文件,然后复制email地址,如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第23张图片

然后利用命令生成密钥,命令如下:

ssh-keygen -t rsa -C "[email protected]"//这里的邮箱要换成自己注册时的邮箱

具体操作如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第24张图片

然后回到计算机用户目录下,如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第25张图片

双击进去可以发现生成了两个密钥,一个是公钥一个是私钥,如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第26张图片

然后我们双击进入公钥,复制公钥,将其配置到Gitee码云上,具体步骤如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第27张图片

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第28张图片

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第29张图片

公钥添加成功:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第30张图片

2.5.2 SSH协议克隆文件代码

(1)克隆步骤

复制Gitee仓库上的SSH,如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第31张图片

然后打开命令窗口进行克隆,如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第32张图片

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第33张图片

(2)克隆后效果 

然后输入Yes即可克隆成功,效果如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第34张图片

三、IDEA集成Git

假设案例:

当新建了一个项目,需要托管到gitee上,就执行以下步骤:

在IDEA中配置git.exe文件。

在IDEA中安装gitee插件(因为默认情况下git.exe是配合GitHub来使用的)。

在IDEA中登录Gitee。

在IDEA中登录Gitee。

分享搭建好的项目。

3.1 配置git.exe文件

打开IDEA,点击File——>Settings,然后搜索git,进入以下界面后,具体操作如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第35张图片

配置完之后测试,测试成功后应用即可:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第36张图片

3.2 安装Gitee插件

因为因为默认情况下git.exe是配合GitHub来使用的,所以我们需要下载Gitee插件。默认情况:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第37张图片

搜索plugins,点击plugins,上方输入Gitee搜索进行下载然后重启IDEA即可。

3.3 在IDEA中登录Gitee

3.3.1 生成Token令牌

回到Gitee界面,点击私人令牌,点击生成新令牌,具体操作如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第38张图片

然后自定义私人令牌描述并提交:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第39张图片

然后输入Gitee密码验证身份即可,如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第40张图片

私人令牌生成成功,如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第41张图片

最后将Token私人令牌复制,以便后面IDEA中登录Gitee。

3.3.2 登录Gitee

具体操作如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第42张图片

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第43张图片

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第44张图片

然后点击Log in登录即可,登录后的效果如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第45张图片

3.4 将项目上传到码云(项目分享)

具体操作如下:

选中你要上传的项目后,在上方导航栏找到VCS并且如以下操作:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第46张图片

然后点击选中private私有并且填好对应信息,点击share即可,如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第47张图片

上传后的效果如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第48张图片

3.2 IDEA克隆已上传的码云代码

3.2.1 复制文件代码的SSH路径

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第49张图片

3.2.2 克隆代码

具体步骤如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第50张图片

然后点击Clone,点击Yes即可。

3.3 IDEA中提交推送代码

3.3.1 提交

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第51张图片

Add添加了之后执行commit提交,如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第52张图片

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第53张图片

3.3.2 推送

具体操作如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第54张图片

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第55张图片

推送成功:

Gitee上的效果:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第56张图片

3.4 IDEA中更新非己所推送的代码 

 但是此时,上传代码的用户还未更新代码,如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第57张图片

所以我们需要拿到更新后的代码。

具体操作如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第58张图片

3.5 修改同类代码合并问题

新增代码:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第59张图片

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第60张图片

另一台电脑上新增代码:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第61张图片

在另一台电脑上推送失败,push后出现以下界面:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第62张图片

Merge后效果:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第63张图片

这里发现有错误,于是重新试了一遍,如下:

IDEA1页面代码:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第64张图片

IDEA2页面代码:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第65张图片

最终结果如下:

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第66张图片


最后Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等就到这里,祝大家在敲代码的路上一路通畅!

感谢大家的观看 !

Git Gui的使用+关于SSH协议和克隆对应文件代码+IDEA集成Git等_第67张图片

你可能感兴趣的:(网络,ssh,ssl,网络安全,运维,信息与通信,网络协议)