在 IDEA 中使用 Git 图形教程
Git 专栏索引: Git 分布式版本控制系统使用教程 在 IDEA 中使用 Git 图文教程
@[TOC](在 IDEA 中使用 Git 图文教程)
????1. 配置 Git
✨想要在 IDEA 中使用 Git,首先就需要在 IDEA 工具中对 Git 进行相关的配置。
✨打开 IDEA 设置,之后按照下面图片中的步骤进行操作即可。需要注意的是,在 Path Git executable 中,也就是设置 Git 可执行路径中,找到本机电脑上 Git 的安装位置,根据情况进行路径选择。例如,我这里的路径是 E:\Git\cmd\git.exe,而在 IDEA 中这里默认是 C 盘路径下的目录,这里要根据个人情况而定,不可忽视。
????2. 创建项目远程仓库
✨这里使用代码托管平台 Gitee 为例,进行创建远程仓库。如下图所示,新建仓库,仓库名称为 redis-demo(自定义),仓库介绍自定义没有影响,其他都按照默认设置即可,最后点击创建。
这样一个远程仓库的项目就创建完成了。
????3. 初始化本地仓库
✨创建完远程仓库之后,还要通过 IDEA 开发工具来初始化一个本地仓库,相比于 Git Bash 这样的命令行来说,IDEA 非常方便可以进行可视化的 Git 管理。
✨如下图所示,在工具栏中的 VCS,鼠标光标移动到 Import Version Control -> Create Git Repository,点击 Create Git Repository。
✨点击 Create Git Repository 之后,弹出一个小窗口,选择要初始化的本地项目。这里就以打开的项目 redis-demo 为例,对 redis-demo 进行 Git 本地初始化。
????4. 连接远程仓库
✨初始化本地仓库,并且创建完远程仓库项目之后,下一步就需要将本地和远程进行对接交互了。那么在交互之前,肯定是要进行建立连接的,就像打电话之前先呼号建立通话连接一样,之后再进行信息交换。
✨工具栏 VCS -> Git -> Remotes,点击 Remotes 添加远程仓库连接信息。
✨添加 Remote,输入 Name 和 URL,这里的 Name 如果没有特殊设置就是按照默认的 origin 来,也是 IDEA 自动补全的,建议在创建远程项目的时候不要轻易修改,这里的 URL 就是在远程项目信息中可以看到,我就不放出来了。
✨之后弹出一个登录 gitee 的窗口,输入自己在注册 gitee 的账号和密码即可,然后点击 Log In.
✨验证通过之后,Git Remotes 中便出现了远程项目的 Name 和 URL,最后点击 OK,这样就正式连接远程仓库项目了。
????5. 提交到本地仓库
✨在工具栏中,点击绿色的图标,表示 commit 到本地仓库。
- 弹出一个 Commit Changes 窗口,然后,选择我们的项目 redis-demo,会自动选中项目中的有变化的文件,第一次 commit 整个项目,会把所有项目文件进行 commit.
- 一般地,在 commit 操作之前,需要仔细查看每个文件细节内容,避免因为鼠标键盘无意按压动作导致对代码文件带来非本意的修改,这是要养成的习惯。
- 在 commit Message 中填入提交记录说明,最后点击右下角的 commit,提交项目 redis-demo 到本地仓库。
✨如果项目存在 warnings,即使项目没有错误可以正常运行,IDEA 还是会给出提示,询问是否要 review 一下,这里我直接忽略,直接 Commit 提交即可。
✨提交完成之后,在 IDEA 界面下边信息提示栏中,Log 日志选择 Version Control,可以看到提交记录,表示提交成功。
????6. 推送到远程仓库
✨推送项目到远程仓库,按照下图操作即可。在 push 之前需要对每个文件内容进行检查,避免因为鼠标键盘无意按压动作导致对代码文件带来非本意的修改。推送成功之后,可以在 IDEA 中看到提示信息,也可以在远程仓库中查看结果。
????7. 克隆远程仓库到本地
????8. 分支操作
????8.1 新建分支
在实际项目开发过程中,当遇到一个需求时,我们并不会直接就在主分支(master)上面进行开发,而是在主分支的基础上单独创建一个新的分支进行开发,当新建分支的代码经过代码评审以及测试验证通过,确认准确无误之后才会将新增的代码合并到主分支master,这才是一个规范的git操作流程。
因此,必须要掌握新建分支的过程,那么创建一个分支的过程如下图所示:
1、首先,单击 “Remote Branches” 下的 "origin/master" 分支,单击选择 “New Branch from Selected...”
2、其次,弹出对话框,输入你要新建的分支名称。例如,feature-1.1.0,单击“Checkout”,表示创建该分支同时切换到 feature-1.1.0 分支。
2、然后,创建分支 feature-1.1.0 成功之后,可以在 “Local Branches” 下看到此时有两个分支分别为feature-1.1.0 和 master,这表明本地仓库中已经有了新建的分支了。
3、但是 “Remote Branches” 下依然只有一个 master 分支,表明在我们的远程仓库依然只有一个master 分支,因此我们还需要把在本地仓库新建的分支推送到远程仓库中,这样就可以在远程仓库中看到新建的分支了。
单击 feature-1.1.0 ,然后在左边单击 “Push” ,弹出推送对话框。单击 “Push” 推送到远程仓库,这样分支新建操作彻底完成,可以看到在"Remote Branches"分支下面出现了“feature-1.1.0”,我们可以在该分支进行编码并进行拉取和推送操作。
????8.2 删除分支
在删除分支之前,建议先切换到(Checkout)其他分支,例如,Checkout到master分支,当然这并不强制,只是为了方便删除分支而已。
1、首先,在 “Local Branches” 下单击分支 feature-1.1.0,左边弹出选项选中 “Delete”.
2、然后,在对话框中勾选“Delete tracking local feature-1.1.0 as well”,意思就是同时删除远程和本地仓库中的 feature-1.1.0 分支。
删除成功之后,出现提示信息 “Deleted Branch:feature-1.1.0”,并且可以在 Git Branches 下看到最新的分支情况。
????8.3 比较分支
分支比较就是对比不同分支之间的差异。例如,需要比较当前所在分支与 master 分支之间的差异,可以选择需要对比的 master 分支,然后单击 "Compare with Current",在弹出的窗口可以看到具体的差异。
????8.4 合并分支
合并分支是将 A 分支合并到 B 分支,A 分支称为源分支,B 分支称为目标分支。
注意事项:master 分支是我们部署在生产环境服务器的分支,master 分支的代码往往是最新的代码。通常我们有一个新的需求时不会直接在 master 分支进行实施编码,而是基于 master 分支拉出一个新的分支,在拉出来的新分支进行实施编码。只有当新分支的代码经过 code review 以及测试联调通过之后,才会将代码合并到 master 分支等待部署上线。合并分支的流程务必规范:先将 master 分支合并到新分支,之后再将新分支合并到 master 分支。 这样做的原因是因为一个项目通常由多个人负责,可能在你开发的过程中,有新的代码已经合并到 master 分支并且部署上线了,但是你拉的新分支上的代码依旧是 master 分支的老代码。所以需要先更新你拉的新分支上的代码,将其他人更新的代码合并过来,保证你拉的新分支代码与最新的 master 分支代码一致(以免因为丢失最新修改的代码而造成线上事故)之后再将你的新拉的分支代码合并到 master 分支上面。
以 feature-1.1.0 分支和 master 分支为例,将 feature-1.1.0 分支合并到 master 分支中。
1、首先,切换到 feature-1.1.0 分支,将 master 分支合并到 feature-1.1.0 分支中。单击 "Local Branches" 下的 master,选择 "Merge into Current",这里的 Current 是指目标(feature-1.1.0)分支 ,也就是将 master 分支合并到 feature-1.1.0 分支中,合并成功之后可以看到提示。
2、然后,切换到 master 分支下,将 feature-1.1.0 分支合并到 master 分支。
3、最后,我们可以看到在 “Local Branches” 下的 master 分支有个绿色的小箭头,这是因为我们刚才的分支合并在本地仓库操作的,并没有将远程的 feature-1.1.0 分支合并到 master 分支中。因此,我们还需要将 master 分支推送到远程仓库,点击 Push 或者使用快捷键 Ctrl+Shift+K
推送到远程仓库即可,推送成功之后绿色提示小箭头也会消失。
????9. 几个常用快捷键
快捷键 | 操作解释 |
---|---|
Ctrl+K |
commit changes(提交变化到本地仓库) |
Ctrl+Shift+K |
push commits to push(将本地仓库的变化同步推送到远程仓库) |
Ctrl+T |
update project(将远程仓库的代码合并更新到本地) |
Ctrl+Alt+Z |
Rollback(代码回滚) |
????10. 总结
✨Git 作为非常强大的分布式版本管理系统,在版本控制中使用非常广泛,因此学会 Git 非常重要。但是以命令行的方式操作 Git 可能不是太方便,好在 IDEA 开发工具中集成了 Git,使得我们可以进行可视化操作 Git,进行版本控制,提高了效率。
推荐阅读
-
好工具推荐系列:MacPorts 在 macOS 中的安装和使用(含 qt4-mac 教程)
-
什么是可用性测试?有效性(Effectiveness)-- 用户完成特定任务和实现特定目标的正确性和完整性程度;效率(Efficiency)-- 用户完成任务的正确性和完整性程度与所用资源(如时间)之比;满意度(Satisfaction)-- 用户在使用产品时的主观满意度和接受程度。 2.如何获得可用性? 可以参考以下原则:Gould、Boies 和 Lewis(1991 年)为以用户为中心的设计定义了 4 个重要原则: 早期以用户为中心:设计者应在设计过程的早期就努力了解用户的需求。 综合设计:设计的所有方面都应同步发展,而不是按顺序进行。使产品的内部设计始终与用户界面的需求保持一致。 早期和持续测试:当今唯一可行的软件测试方法是经验主义方法,即如果实际用户认为设计可行,该设计就是可行的。通过在整个开发过程中引入可用性测试,用户就有机会在产品推出之前对设计提出反馈意见。 迭代设计:大问题往往掩盖了小问题的存在。设计人员和开发人员应在整个测试过程中对设计进行迭代。 3...什么是可用性测试? 可用性测试是根据可用性标准对图形用户界面进行的系统评估。 可用性测试是衡量用户与系统(网站、软件应用程序、移动技术或任何用户操作设备)交互时的体验质量。4.如何进行可用性测试? l 实验室实验
-
非法篡改数据会破坏信息安全的哪些属性 - 机密性(保密性)是指不向未经授权的用户、实体或流程披露网络信息。也就是说,信息只能由授权用户使用。保密性是在可靠性和可用性基础上确保网络信息安全的重要手段。 (推荐学习:网络前端视频教程) 网络信息安全中的保密性是指根据给定的要求,信息不泄露给未经授权的个人、实体或进程,或提供给他们使用的特性,即杜绝有用信息泄露给未经授权的个人或实体,强调有用信息只被授权对象使用的特性。 常用的保密技术
-
Idea 使用-在 idea 中的类文件中输入 psvm,输出如下:
-
安装和使用 Redis,在 IDEA 上进行配置 - 保姆级教程
-
使用 ChatGPT+Midjourney 在 5 分钟内生成 30 个爆炸性的小红书图形(内附详细教程)
-
详细解释如何使用 .ignore 插件在 IntelliJ IDEA 中忽略不必要的提交
-
关于在项目中使用 git、拉动、创建分支、提交代码和切换分支的教程
-
在 IDEA 中实现简约而优雅的 Git 远程拉取和本地推送
-
.NET高级面试指南 Topic XVIII [ 介绍外观模式(Appearance Pattern),该模式提供了一个隐藏系统复杂性的简化界面 ]。- 简化复杂系统:当系统具有复杂的子系统结构时,可以使用外观模式来简化界面。提供统一界面:当客户端需要访问多个子系统时,可以使用外观模式提供统一界面。 外观模式在现代软件开发中得到广泛应用,尤其是在复杂系统中。例如 图形用户界面库:许多图形用户界面库(如 Qt、GTK+ 等)都使用外观模式来隐藏底层的复杂性,并为开发人员提供简单的界面来创建用户界面。 操作系统接口:操作系统中的系统调用和应用程序接口通常也使用外观模式来隐藏底层硬件和系统的复杂性,为应用程序提供访问系统资源的简单接口。企业应用程序:在可能涉及多个子系统的大型企业应用程序中,外观模式可用于封装这些子系统,并为客户端提供统一的使用界面。 网络框架:许多网络框架(如 ASP.NET MVC、Spring MVC 等)也使用外观模式来隐藏底层的复杂性,并为开发人员提供简单的接口来处理 HTTP 请求和响应。 集成开发环境(IDE):集成开发环境通常包含代码编辑器、编译器、调试器等多种功能。外观模式可用于封装这些功能,并为开发人员提供开发软件的简单界面。 代码示例: