前言
图形化界面(GUI,Graphical User Interface)是一种用户与计算机程序或操作系统交互的方式,通过图形元素,如图标、按钮、窗口等,而不是通过命令行来完成操作。GUI的设计旨在让用户通过直观的图形界面进行操作,而无需深入了解底层的命令和代码。
SSH(Secure Shell)是一种用于在网络上安全地访问和管理远程计算机的协议。它为远程登录会话和其他网络服务提供了安全的加密通信。SSH最初设计用于替代不安全的 Telnet 和不加密的远程 shell (rlogin)等协议,它为远程管理和文件传输提供了一种强大而安全的解决方案。很多网络设备、服务器和操作系统都支持SSH协议,使得管理员能够以安全的方式管理远程系统
一.GUI图形化界面使用
1.克隆远程仓库
在我们的本地目录中创建本地仓库使用GUI图形化界面克隆远程仓库,首先在指定目录打开GUI
选择克隆仓库
依次填写好远程仓库地址和要克隆到的本地目录
远程仓库地址在官网中,如下图所示
注意:克隆前保证远程仓库已经初始化完成, 否则会克隆失败
克隆完成后会来到以下界面,左侧为未暂存文件和已暂存文件右侧为文件详细信息及备注信息,以及一些刷新、提交、推送等信息
单击左侧文件夹及可控制未暂存和已暂存,点击提交及推送即为向远程仓库进行推送
当我们的远程仓库出现推送的文件时说明推送完成
2.GUI界面修改文件
当我们对文件进行修改时,右侧会展示我们的文件修改的所有地方
这样可以更好得直观得让我们感受到修改的步骤,最后还是修改后还是重复之前的步骤,暂存-提交-推送
二.SSH协议
1.配置用户名和邮箱(之前配置过可以跳过)
git config --global user.name "username"
git config --global user.email "email"
在路径 C:\Users\用户名\.gitconfig 文件中可以查看
2.检查下自己之前有没有已经生成ssh
cd ~/.ssh ls
注1:当cd ~/.ssh命令执行后窗口返回“no such file or directory”的时候,表示我们的电脑并没有ssh key,所以需要我们创建ssh key
3.生成SSH公钥
ssh-keygen -t rsa -C "邮箱地址"
之前的操作没有问题的话输入上方命令,上面的邮箱地址填写自己的邮箱地址
输入完命令之后点击三次回车,会出现以下界面
完成操作后,在本地目录C:\Users\用户名\.ssh下会有两个文件
我们打开公钥文件,将公钥复制到gitee中
将刚刚复制的公钥粘贴到此处并为其添加标题,然后确定进行生成
这时我们就可以通过复制SSH协议去克隆远程仓库的项目了
输入以下命令进行克隆
git clone 当前远程仓库的SSH协议
当本地目录出现自己克隆的项目时说明克隆成功了
三.idea集成Git
1.idea配置Git
在idea中file-settings-git中进行配置,选择自己git安装的目录
配置完成后点击右下角的Apply进行保存确认
2.安装gitee插件
在file-settings-plugins中搜索gitee,下载完成后重启idea
3.登录Gitee
在Gitee官网中生成自己的token令牌
往下面找到自己的私人令牌
这时点击生成新的令牌
填写私人令牌的标志性描述
将私人令牌复制保存好,当前私人令牌只会出现一次
在file-settings-gitee中进行登录
点击Use token
将我们刚刚复制的token令牌复制到里面进行登录
4.项目上传Git
在导航栏中的VCS-import into Version Control-Share Project on Gitee中进行分享上传
点击Share进行上传
注意:我们在上传时只需要上传我们的源码文件和pom配置文件即可
上传完成之后我们可以在自己主页的私有仓库中进行查看
5.获取当前上传的项目
在导航栏的VCS-Get from Version Control中获取私有仓库的项目
填写好远程仓库的SSH协议地址
注意:在模拟其他电脑获取私有仓库中的项目时,需要将当台电脑的SSH公钥保存到Gitee账号的公钥中生成新的令牌才可以获取到
克隆完成后要记得将Maven地址修改为自己的Maven仓库,再将pom依赖进行导入,当出现目录结构时说明克隆成功
6.多人集成上传修改及更新代码
6.1 上传修改的代码
角色A在测试文件中修改代码
三部曲依次执行,暂存、提交、推送
6.2 更新修改后的代码
角色B更新角色A修改后的代码
点击Pull拉取代码
代码拉取成功
7.情景演练
当角色A更新一段代码并推送到远程仓库时,但是角色B并没有及时拉取远程仓库的代码,这时,分两种情况,如果差异化代码不多并且可以合并时idea会提示是否合并,当代码量多时,会提示当前修改的代码段,可以自行选择是否合并