![](https://file.jishuzhan.net/article/1723519825268969474/42a828507b71ef9e5bbcf004324b76b7.webp)
🎉🎉欢迎来到我的CSDN主页!🎉🎉
🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚
🌟推荐给大家我的专栏《Git》。🎯🎯
👉点击这里,就可以查看我的主页啦!👇👇
🎁如果感觉还不错的话请给我点赞吧!🎁🎁
💖期待你的加入,一起学习,一起进步!💖💖
![](https://file.jishuzhan.net/article/1723519825268969474/4cd37c5f572e92f8169516c951d59b63.jpeg)
目录
[1.2.Git GUI的使用](#1.2.Git GUI的使用)
一、Git图形化管理工具
1.1.什么是图形化管理工具
图形化管理工具是一种通过可视化界面来操作计算机系统或应用程序的软件工具。在软件开发中,它通常用于管理和操作版本控制系统(如Git、SVN等)以及代码开发环境(如IDE)。与命令行相比,图形化管理工具更加直观和易于使用,能够帮助软件开发人员更快速地理解和使用系统或应用程序。
在版本控制系统中,图形化管理工具提供了更为友好的界面和功能,可以帮助开发人员管理和操作代码库,例如提交、拉取、推送代码等。在开发环境中,图形化管理工具可以帮助开发人员更轻松地创建、编辑和测试代码,提高开发效率。
一些常见的图形化管理工具包括Sourcetree、TortoiseGit、GitKraken、GitHub Desktop等,它们都提供了直观的界面和丰富的功能,使得软件开发人员能够更加方便地管理、操作和维护代码。同时,这些工具也能够帮助开发人员更好地协作和沟通,促进团队协作和项目的进展。
1.2.Git GUI的使用
其实我们下载Git的时候就有这个Git GUI,这是Git自带的图形化工具。
![](https://file.jishuzhan.net/article/1723519825268969474/4d788262d359575f3e5434976b54f0e4.webp)
右击点击Git GUI Here进入图形化管理工具
![](https://file.jishuzhan.net/article/1723519825268969474/27d55adff150bfe4b8dc6597b0500db3.webp)
下面我们来演示一下,该工具的使用
![](https://file.jishuzhan.net/article/1723519825268969474/5319357979c1aa80592e09b84d3de516.webp)
进入图形化工具点击Rescan刷新,重新扫描该项目
![](https://file.jishuzhan.net/article/1723519825268969474/eb8d2d94651daf4776b861b0f141ee0a.webp)
我们只要双击一下没有跟踪的文件,就会到未提交区域了
![](https://file.jishuzhan.net/article/1723519825268969474/318b731e91de889d9ea0384e121b7589.webp)
此时我们commit/Push一下,就会将我们的文件推送到码云了
![](https://file.jishuzhan.net/article/1723519825268969474/1ab93ee160ae8a55994325b91168bfb0.webp)
出现该窗口表示成功
![](https://file.jishuzhan.net/article/1723519825268969474/92008d4abe3bd00a81c90ea83d4d6887.webp)
码云上也有了我们的文件
![](https://file.jishuzhan.net/article/1723519825268969474/a9b1dadf59e5b4dca8ad97c6b0aa1d72.webp)
二、SSH协议
2.1.什么是SSH协议
SSH(Secure Shell)协议是一种加密的网络协议,用于在不安全的网络中安全地进行远程登录和执行命令。它通过在网络中建立一个加密的通道,确保数据传输的机密性和完整性。
SSH 协议提供了一种安全的方法来远程连接到计算机,使得用户和系统管理员可以通过一个加密的信道进行登录、远程执行命令、传输文件等操作,而不必担心信息被窃取或篡改。
SSH 协议的特点包括:
-
加密通信:SSH 使用加密技术来保护数据在网络上的传输,防止信息泄露和窃听。
-
身份验证:SSH 提供多种身份验证方式,包括密码、公钥、双因素认证等,以确保只有授权用户可以访问远程系统。
-
安全传输文件:除了远程登录,SSH 协议还可以用于安全地传输文件,类似于 FTP。
总之,SSH 协议在网络通信中扮演着重要角色,为远程访问和通信提供了安全、加密的解决方案,因此被广泛应用于服务器管理、远程操作等场景。
2.2.使用SSH协议进行拉取代码
2.2.1.配置SSH公钥
上面也解释了为什么要使用SSH进行文件的上传下载,如果我们用的是HTTPS,该URL被别有想法的人盗取了,那么他也可以对你的代码仓库进行上传下载操作,非常的不安全。
首先我们需要将创建或者将公有的仓库变为私有的。
![](https://file.jishuzhan.net/article/1723519825268969474/25567cb7bd3bc59de15da2e95e8927f7.webp)
找到设置,在设置里面配置SSH公钥(将成员的SSH公钥也配置在此才能进行访问)
cd ~/.ssh检查下自己之前有没有已经生成ssh
![](https://file.jishuzhan.net/article/1723519825268969474/2738d02aab4f53cc67f1be5b3176313e.webp)
当cd ~/.ssh命令执行后窗口返回"no such file or directory"的时候,表示我们的电脑并没有ssh key,所以需要我们创建ssh key
ssh-keygen -t rsa -C "xxx@xx.com"//这里的邮箱要换成自己注册时的邮箱( 接着按3个回车)
![](https://file.jishuzhan.net/article/1723519825268969474/d75c58f8cbfe9b311009e7040542c1d7.webp)
这时候我们的c盘下的用户文件夹中就会有一个文件夹.ssh打开就会有SSH的公钥和私钥了
我们将生成出来的SSH公钥配置到刚刚的地方即可
![](https://file.jishuzhan.net/article/1723519825268969474/04fe2be4687a91b11f7e0e51133bdc14.webp)
现在只有配置了公钥的SSH方可访问你的私有码云仓库
2.2.2.使用SSH协议拉取代码
这里其实就和HTTPS的拉取方式大同小异了,我们需要获取到该仓库的SSH地址
![](https://file.jishuzhan.net/article/1723519825268969474/8eb94299398a3e5b3ae1e3070db4b805.webp)
使用指令git clone "SSH地址"即可
![](https://file.jishuzhan.net/article/1723519825268969474/d7ce93462a3ff3af3fdaa502594da1ad.webp)
我们就可以在本地仓库看到拉取下来的代码了
![](https://file.jishuzhan.net/article/1723519825268969474/91d64793dee01e729abbd7ec0668414c.webp)
三、IDEA集成Git
3.1.使用IDEA推送代码到Git
①在IDEA中配置git.exe文件
![](https://file.jishuzhan.net/article/1723519825268969474/15e78c0109eb9c5123882fd48346d226.webp)
![](https://file.jishuzhan.net/article/1723519825268969474/7ec7668e7619b95b2bdf4ed8e6724301.webp)
②在IDEA中安装gitee插件
![](https://file.jishuzhan.net/article/1723519825268969474/219465263b509885f879b3b003da97e0.webp)
③在IDEA中使用token登录gitee
先去gitee生成一个token令牌注意记得保存(因为只会出现一次)
![](https://file.jishuzhan.net/article/1723519825268969474/ba6b2649736b7e80df7a52a7cd8bacf8.webp)
![](https://file.jishuzhan.net/article/1723519825268969474/2978387b93318454cc4426ac3a563afa.webp)
在IDEA中登录gitee
![](https://file.jishuzhan.net/article/1723519825268969474/dabf4533db8cffc4d1ebfaf406c8c21a.webp)
![](https://file.jishuzhan.net/article/1723519825268969474/93714c385453ceb596f97180a54a8425.webp)
④在IDEA推送代码到码云
注意你需要推送那个项目就切换到那个项目的工作区间否则就是上传全部
![](https://file.jishuzhan.net/article/1723519825268969474/10e410bcebb34f33ad297f11704c7a73.webp)
选择上传私有的仓库(当然这个看你个人需求)
![](https://file.jishuzhan.net/article/1723519825268969474/534afab9ee60e188ee4f44c672ade046.webp)
我们的码云就有了刚刚推送的代码
![](https://file.jishuzhan.net/article/1723519825268969474/d92966a3ec3f87bf92edad8179cd8aab.webp)
3.2.使用IDEA拉取Git代码到本地
首先拿到刚刚我们推送项目的仓库SSH地址
![](https://file.jishuzhan.net/article/1723519825268969474/e9088df84f9389a26d20386cae7d2ec5.webp)
使用IDEA拉取代码
![](https://file.jishuzhan.net/article/1723519825268969474/6676d1fb0fd38a9b1334f60dd982c5be.webp)
仓库源码就拉取下来了
![](https://file.jishuzhan.net/article/1723519825268969474/87f47d843143ee4faf28e31f55b469cf.webp)
3.3.代码冲突问题
现在我结合以上的内容来给大家进行代码冲突的问题演示以及解决方案,我先基于源码进行修改并推送,拉取下的代码在没有更新代码的情况下也进行代码的编写,并推送会怎么样??
修改源码中的代码并推送
![](https://file.jishuzhan.net/article/1723519825268969474/8da4cfb1534eb515908c3c1bffe5084d.webp)
![](https://file.jishuzhan.net/article/1723519825268969474/244d161508c0695c673832ef014fbfcf.webp)
![](https://file.jishuzhan.net/article/1723519825268969474/95ef47ef7881d7aae7e5ba3a427dfaa1.webp)
码云上的代码以及被修改
拉取代码也进行修改并推送
![](https://file.jishuzhan.net/article/1723519825268969474/f45dd45e87239b1279aa6db2a0a7097a.webp)
![](https://file.jishuzhan.net/article/1723519825268969474/121616a8dc8bf6c716e8e20bcaea4dd0.webp)
出现下图就是代码冲突问题了
![](https://file.jishuzhan.net/article/1723519825268969474/6e272f1658c544504672f3536f19719d.webp)
![](https://file.jishuzhan.net/article/1723519825268969474/869f8af416ba2b7ee4624845ec702f99.webp)
Git 代码冲突通常发生在以下情况下:
- 同一个文件的同一部分被多个开发者修改。
- 从不同分支合并代码时,两个分支对同一部分进行了不同的修改
我们只需点击Merge,手动解决这些冲突即可解决该问题
![](https://file.jishuzhan.net/article/1723519825268969474/bebe3b296f5b93e41575a71f4eede7b3.webp)
我们修改好冲突代码后即可进行推送我们上码云看一下
![](https://file.jishuzhan.net/article/1723519825268969474/dcfb3342bb90604bde8569dc252c5601.webp)
![](https://file.jishuzhan.net/article/1723519825268969474/605f3addabb40fbd0938655c0b689ae1.webp)
![](https://file.jishuzhan.net/article/1723519825268969474/4cd37c5f572e92f8169516c951d59b63.jpeg)
到这里我的分享就结束了,欢迎到评论区探讨交流!!
💖如果觉得有用的话还请点个赞吧 💖
![](https://file.jishuzhan.net/article/1723519825268969474/36760b3f9f89bab7ed2a7c2428d857b2.webp)