目录
[一、Git GUI的使用](#一、Git GUI的使用)
[1. 什么是Git GUI](#1. 什么是Git GUI)
[2. 常见的Git GUI工具](#2. 常见的Git GUI工具)
[4.使用Git GUI工具的优缺点](#4.使用Git GUI工具的优缺点)
[4. SSH协议的使用](#4. SSH协议的使用)
前言
在软件开发领域,版本控制是非常重要的一环。Git作为目前最流行的版本控制系统之一,为开发者提供了便捷的代码管理和协作工具。本文将详细介绍Git GUI工具的使用方法,以及如何配置SSH协议进行安全的远程仓库访问。同时,我们还将深入探讨在IntelliJ IDEA集成的Git功能,为开发者提供更便捷的代码管理体验。
一、Git GUI的使用
1. 什么是Git GUI
Git GUI是指图形用户界面(Graphical User Interface)工具,用于与Git进行交互的界面。它提供了一种直观的方式来管理和操作Git仓库,相较于命令行Git,Git GUI更加友好和易于上手。
与命令行Git的区别和优势
- 介绍Git GUI相较于命令行Git的优势,比如直观的显示版本历史、分支结构和提交记录等。
- 强调Git GUI在可视化操作、快速学习和跨平台使用等方面的优点。
2. 常见的Git GUI工具
TortoiseGit
- 特点:Windows平台上常用的Git GUI工具,与资源管理器集成,提供方便的操作方式。
- 适用场景:个人开发者或小团队,需要简单直观的Git界面操作。
GitHub Desktop
- 特点:由GitHub官方推出的Git GUI工具,与GitHub仓库无缝集成。
- 适用场景:GitHub用户,希望通过可视化界面管理本地和远程仓库。
Sourcetree
- 特点:功能丰富的跨平台Git GUI工具,支持Git和Mercurial。
- 适用场景:需要复杂操作和高级功能支持的开发者或团队。
3.使用
在Git里面提前新建好仓库并进行一些基本的操作,这里就不过多演示了可以查看Git安装配置保姆级教程和Git创建仓库的基本原理和常用命令该篇博文
在本地仓库右键选择Git GUI Here


我们先在gitee中创建了我的仓库,接下来直接克隆即可

进去后我们可以看到以下界面
这是我们克隆下来的文件

我们新建几个文件进行测试使用GUI

此时我们在图形化界面中刷新以下




4.使用Git GUI工具的优缺点
优点:
- 易于上手: 对于不太熟悉命令行操作的开发者来说,Git GUI提供了直观的图形化界面,使得版本控制操作更加直观和易于上手。
- 可视化操作: Git GUI工具通常提供可视化的提交、分支管理,以及代码变更等功能,使得开发者可以通过图形化界面轻松地进行这些操作,而不需要记忆所有的Git命令。
- 跨平台性: 很多Git GUI工具都支持多个操作系统,因此可以在Windows、Mac和Linux等不同平台上使用,满足了不同开发者的需求。
缺点:
- 学习曲线: 尽管Git GUI工具简化了一些操作,但是对于某些高级的Git操作或定制化需求,仍然需要理解Git的基本原理和命令,因此可能需要花费一些时间来学习。
- 功能限制: 有些Git GUI工具可能不能完全覆盖Git的所有功能,特别是对于一些较为复杂的操作,可能需要借助命令行来完成。
- 性能: 一些Git GUI工具相对于命令行操作可能会存在一定的性能损耗,尤其是在处理大型代码仓库时。
二、SSH协议
1.什么是SSH协议
SSH(Secure Shell)是一种网络协议,用于在网络上安全地传输数据。它提供了加密的通道,用于通过不安全的网络(如互联网)安全地连接到远程系统。SSH最初设计用于替代诸如telnet和rsh等不安全的远程登录和执行命令的方法。目前,SSH广泛用于远程服务器管理、文件传输和加密隧道等领域。
什么是ssh key
SSH key是一种基于密钥的身份验证方式,用于远程SSH连接。它包括一个私人密钥和一个公用密钥。私人密钥存储在客户端计算机上,而公用密钥则放在服务器上。当客户端尝试连接到服务器时,服务器会要求客户端提供私人密钥以进行身份验证。如果验证成功,则客户端将能够通过SSH协议与服务器进行通信。
2.SSH的主要特点和作用
- 加密通信: SSH使用加密技术对通信数据进行加密,从而防止未经授权的访问者窃取信息。
- 身份验证: SSH支持多种身份验证方式,包括基于密码、公钥和双因素认证等,确保用户的身份合法性。
- 远程登录和执行命令: 用户可以通过SSH安全地登录到远程主机,并在远程系统上执行命令。
- 安全文件传输: SSH协议还提供了用于安全文件传输的协议,如SCP(Secure Copy Protocol)和SFTP(Secure File Transfer Protocol)。
- 端口转发: SSH支持端口转发功能,使得用户可以安全地映射本地端口到远程主机上,实现安全的网络隧道。
3.SSH密钥认证的原理和流程
SSH密钥认证基于公钥加密技术,实现了一种更加安全和便捷的身份验证方式。其原理和流程如下:
- 生成密钥对: 用户在本地系统上使用工具生成一对密钥,包括私钥和公钥。
- 将公钥配置到远程服务器: 用户将生成的公钥配置到远程服务器上的
authorized_keys
文件中,以便远程服务器进行认证。- SSH连接过程:
- 客户端发起连接请求时,服务器会发送一个随机的挑战(challenge)给客户端。
- 客户端使用私钥对挑战进行签名,并将签名后的结果发送给服务器。
- 服务器收到签名后的结果后,使用事先配置的公钥对签名进行验证,如果验证成功,则表明用户身份合法,允许登录。
4. SSH协议的使用
将仓库变成私有仓库,新建一个文件夹存储及克隆私有仓库


我们将通过SSH协议进行克隆,首先我们需要添加公钥,然后对公钥进行设置
添加公钥
首先在命令窗口中输入cd ~/.ssh查看是否有生成的ssh

没有公钥我们就生成一个公钥,输入ssh-keygen -t rsa -C "Email",Email 是你配置的邮箱,不知道的话可以去**.gitconfig**文件中查看,然后接着按三个回车即可


然后我们将公钥配置到我们的gitee上去,点击确定之后还需要输入gitee登陆的密码,生成我们的ssh key


成功之后我们选择SSH进行克隆测试

选择你需要克隆的位置,右键 Git Bash Here --->git clone[url]


三、IEDA使用git
IEDA通常提供类似于终端或命令行的界面,你可以通过该界面来使用Git命令行工具。在IEDA中,你可以通过命令行执行各种Git命令,比如git clone
用于克隆仓库,git add
用于添加文件到暂存区,git commit
用于提交更改等。
配置安装路径
要将Git集成到IntelliJ IDEA中,可以按照以下步骤操作:
打开IntelliJ IDEA软件。
点击File,在弹出的菜单中选择Settings。
在设置窗口中,选择Version Control,然后点击Git。
在Git设置窗口中,选择路径下拉菜单,选择Git\bin\git.exe安装路径。
下载Git插件
File/settings/plugins

登录用户
在这里面找到 Version Control >>> Gitee 选择对应的登录方式进行登录。

通过gitee登录
- 点击之后跟随操作即可
- 使用密码登录
使用你登陆的账号和密码进行登录,这种方式还是很好登录的。

使用令牌登录
进入gitee

这样令牌就生成成功啦
复制你的令牌,进行登录

登录成功

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

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

远程仓库:

IDEA克隆已上传的码云代码
复制文件代码的SSH路径

克隆代码


然后点击Clone,点击Yes即可
IDEA中提交推送代码
提交
执行add操作,将文件提交Git管理

执行commit操作,将文件上传到本地仓库


推送,执行push操作


推送成功

远程仓库查看

如果我们是拉取代码或文件,执行pull操作
