Git学习笔记(五)IDEA使用Git

        在前面几篇文章中,我们已经介绍了git的基础知识,知道了其主要作用是用来进行代码的版本管理;并且已经介绍了Git操作的常用命令。在日常的开发环境下,除了通过Bash命令行来操作Git之外,我们另外一种常用的操作方式则是直接通过开发工具来进行代码的版本管理。目前主流的开发工具如eclipse、IDEA等对于Git都提供了强大的支持,这里由于我日常使用的开发工具是IDEA,因此用IDEA进行举例。

IDEA配置Git

初始配置

        安装好IDEA后,如果Git安装在默认路径下,那么idea会自动找到git的位置,如果更改了Git的安 装位置则需要手动配置下Git的路径。选择File→Settings打开设置窗口,找到Version Control下的git选项:

如果在安装Git时都是选择的默认设置,这里一般会自动检测路径;如果没检测到,则手动选择Git安装目录下的git.exe文件。路径选择好后,可以点击右侧的测试按钮,如果显示了Git版本则表示配置成功了:

        接下来我们需要将一个正在开发的项目交给Git管理,首先需要做的事就是构建本地仓库,然后连接远程仓库

构建本地仓库

        通过Git Bash来构建本地仓库的方法我们在学习笔记(二)基本命令中介绍了,只需要在文件夹下打开Git Bash,然后执行git init命令即可,而在IDEA中打开的项目,我们可以通过简单的鼠标点击的方式来为项目构建本地仓库,具体操作方法如下图:

        经过上述步骤,其实我们本地仓库就已经构建好了,让我们来看看构建完成后界面有哪些变化:

可以看到IDEA的主界面变化主要有以下三点:

  1. 多出了一个文件vcs.xml:里面是一些版本控制的初始配置
  2. 文件名变成了红色:这代表着这些文件都处于Untracked状态(对状态不熟悉的同学去翻看Git学习笔记(一)基础概念)
  3. 右上角多出了三个图标:这也是使用IDEA进行Git操作最常用的三个按钮,后面会一一介绍他们的功能。

当发现右上角出现Git图标之后,意味着我们这个项目已经被Git管理,本地仓库构建完成。

连接远程仓库

        连接远程仓库之前,我们需要先构建一个远程仓库,具体步在Git学习笔记(四)远程仓库中有详细介绍,并且里面包含了如何通过Git Bash来让本地仓库与远程仓库建立连接的方法(git remote add [远程仓库名] [远程仓库地址]),这里就不过多赘述。

        建立好远程仓库之后,在IDEA中进行如下配置,就可以将刚刚构建的本地仓库与远程仓库建立连接:

        经过上述步骤,我们IDEA中的有关Git的相关配置就已经全部完成,接下来就可以直接在IDEA中使用Git来进行版本控制啦。

IDEA操作Git

最后,我们来讲讲IDEA中用来操作Git的几个常用按钮:

  1. 拉取按钮,表示从远程仓库拉取内容到本地仓库并合并到本地仓库的当前分支,相当于Git Bash中执行的pull命令。
  2. 提交按钮,表示将修改提交到本地仓库,相当于Git Bash中执行的add+commit命令。(注:IDEA中弱化了暂存区的存在,但实际上commit之前还是会先将修改add到暂存区)


    文件名颜色变绿,表示该文件已经提交到暂存区,但是还没有提交到仓库,处于staged状态,这时我们需要再点一次提交按钮。

    文件名变成白色,表示文件已提交,状态为commited。
  3. 推送按钮,表示将本地仓库的内容推送到远程仓库,相当于Git Bash中执行push命令。(注意:一般在点击推送按钮之前,需要先点击拉取按钮,在本地处理好分支冲突之后才能够推送到远程仓库)
  4. Git控制台,点击后可以打开Git控制台,在控制台中可以看到分支情况。
  5. 表示当前分支,对于分支的操作大部分在这里也可以进行:

    (注:这里的签出其实就是切换分支(checkout),汉化包的问题)

        以上几个按钮,就是我们日常在使用IDEA进行开发的过程中经常用到的Git管理按钮,通过这些按钮,我们能够方便的对代码进行版本控制,通过可视化的方式,以及简洁明了的操作方法,极大的减轻了我们使用Git时的负担,不再需要通过命令来对Git进行操作。不过个人建议Git bash的常用命令和一些基本概念还是需要掌握(可以看我之前的文章)。最后附上文件名颜色与文件状态的对应关系:

红色,未加入版本控制,git不管理,或者存在分支冲突
绿色,已加入版本控制,暂未提交
蓝色,已加入版本控制,已提交,有改动(提交后就变回白色)
白色,已加入版本控制,已提交,无改动
灰色:已加入版本控制,忽略的文件(.ignore)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/588096.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

专注 APT 攻击与防御—工具介绍-the-backdoor-factory

工具介绍 the-backdoor-factory 项目地址:GitHub - secretsquirrel/the-backdoor-factory: Patch PE, ELF, Mach-O binaries with shellcode new version in development, available only to sponsors 原理 可执行二进制文件中有大量的 00,这些 00 是…

ACP科普:MoSCoW优先排序法则

MoSCoW 优先级排序法,是项目管理定义范围、确定功能质量、变更管理中常用的工具法则,以便用户、项目主管、项目经理、供应商对纳入项目中的每个需求交付的重要性和紧急性达成共识。M—o-S-C—o-W,是四个优先级别的首字母的缩写,再…

OJ1——轮转数组,消失的数字

题目1——轮转数组 题目来源. - 力扣(LeetCode) 轮转(或称为旋转)数组是一种常见的算法问题,通常指的是将数组中的元素向右或向左移动一定位置,使得数组的元素重新排列。 以下是一个简单的思路&#xff0…

基于ssm+vue+Mysql的药源购物网站

开发语言:Java框架:ssmJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.…

【C语言/数据结构】经典链表OJ习题~第二期——链中寻环

🎈🎈🎈欢迎采访小残风的博客主页:残风也想永存-CSDN博客🎈🎈🎈 🎈🎈🎈本人码云 链接:残风也想永存 (FSRMWK) - Gitee.com🎈&#x1f…

Unity LensFlare 入门

概述 在项目的制作过程中,太阳光的使用一定是不可缺少的部分,但是如果想实现真实太阳光眼睛看到的镜头炫光效果,那这部分的内容一定不要错过喔,接下来让我们来学习这部分的内容吧! Hale(光环效果) Color:…

Rust Rocket创建第一个hello world的Web程序 Rust Rocket开发常用网址和Rust常用命令

一、Rust Rocket简介 Rust Rocket 是一个用 Rust 语言编写的 Web 应用框架,它结合了 Rust 的安全性和性能优势,以及 Web 开发的便利性。以下是 Rust Rocket 框架的一些优点: 安全性:Rust 是一种注重安全性的编程语言,…

如果通过Glide 设置图片圆角

要给图片设置一个圆角,通常方法是在ImageView 标签外添加一个CardView 标签,然后设置圆角值,但是今天遇到一个问题就是 RecyclerView Item 中这样操作的话会遇到这样的一个报错: Cannot call this method while RecyclerView is computing a layout or scrolling androidx.rec…

API安全

一,什么是API API指的是应用程序编程接口(Application Programming Interface),是一组定义了软件组件如何相互交互的规范。通过API,不同的软件可以相互通信和交换数据,实现不同软件之间的集成和互操作。 …

详细分析Java中的脱敏注解(附Demo)

目录 前言1. 基本知识2. 核心逻辑3. Demo4. 模版 前言 对于隐私信息,需要做特殊处理,比如身份证或者手机号等 对于Java的相关知识推荐阅读:java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全) 1. 基本知…

06 - 步骤 add constants

简介 Add Constants 步骤是用于在数据流中添加常量字段的步骤。它允许用户在数据流中插入一个或多个常量字段,并为这些字段指定固定的数值、字符串或其他类型的常量值。 使用 场景 我需要在数据清后,这个JSON 字符串有一个固定的行流数据。 1、拖拽…

基于Springboot的社区医疗服务系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的社区医疗服务系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构…

6.python网络编程

文章目录 1.生产者消费者-生成器版2.生产者消费者--异步版本3.客户端/服务端-多线程版4.IO多路复用TCPServer模型4.1Select4.2Epoll 5.异步IO多路复用TCPServer模型 1.生产者消费者-生成器版 import time# 消费者 def consumer():cnt yieldwhile True:if cnt < 0:# 暂停、…

LLM优化:开源星火13B显卡及内存占用优化

1. 背景 本qiang~这两天接了一个任务&#xff0c;部署几个开源的模型&#xff0c;并且将本地经过全量微调的模型与开源模型做一个效果对比。 部署的开源模型包括&#xff1a;星火13B&#xff0c;Baichuan2-13B, ChatGLM6B等 其他两个模型基于transformers架构封装&#xff0…

使用Git把写好的项目放到github上

把之前的文章差缺补漏了一下&#xff0c;发现少一个TUserController文件&#xff0c;然后加上了。 以及发现前后端交互时的跨域问题需要处理。 在Controller文件里加入注释 CrossOrigin(origins "*")即可。 不然数据在Vue里显示不出来。 ** 壹 首先先把前端项目 de…

ElasticSearch教程入门到精通——第四部分(基于ELK技术栈elasticsearch 7.x新特性)

ElasticSearch教程入门到精通——第四部分&#xff08;基于ELK技术栈elasticsearch 7.x新特性&#xff09; 1. Elasticsearch进阶1.1 核心概念1.1.1 索引Index1.1.1.1 索引创建原则1.1.1.2 Inverted Index 1.1.2 类型Type1.1.3 文档Document1.1.4 字段Field1.1.5 映射Mapping1.…

AI项目二十一:视频动态手势识别

若该文为原创文章&#xff0c;转载请注明原文出处。 一、简介 人工智能的发展日新月异&#xff0c;也深刻的影响到人机交互领域的发展。手势动作作为一种自然、快捷的交互方式&#xff0c;在智能驾驶、虚拟现实等领域有着广泛的应用。手势识别的任务是&#xff0c;当操作者做出…

翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习六

合集 ChatGPT 通过图形化的方式来理解 Transformer 架构 翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习一翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习二翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深…

设备能源数据采集新篇章

在当今这个信息化、智能化的时代&#xff0c;设备能源数据的采集已经成为企业高效运营、绿色发展的重要基石。而今天&#xff0c;我们要向大家介绍的就是一款颠覆传统、引领未来的设备能源数据采集神器——HiWoo Box网关&#xff01; 一、HiWoo Box网关&#xff1a;一站式解决…

virtualbox kafka nat + host-only集群 + windows 外网 多网卡

virtualbox kafka nat + host-only集群 + windows 映射访问 kafka集群搭建背景kafka集群搭建 背景 使用virtualbox搭建kafka集群,涉及到不同网络策略的取舍 首先 桥接 网络虽说 啥都可以,但是涉及到过多ip的时候,而且还不能保证使用的ip不被占用,所以个人选择kafka虚拟机…