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)

相关推荐
Han.miracle3 小时前
Java的多线程——多线程(3)线程安全
java·开发语言·jvm·学习·安全·线程·多线程
x_lrong3 小时前
本地访问远端环境tensorboard
linux·笔记·ai·虚拟机·云服务器·tensorboard
d111111111d3 小时前
STM32外设学习--TIM定时器--输入捕获---测频方法。
stm32·单片机·学习
hit56实验室4 小时前
如何在DCU上面编译llama.cpp
笔记
WPG大大通5 小时前
AIoT | 软件:Astra MCP边缘算力构建详解
经验分享·笔记·python·硬件架构·代码
卡提西亚5 小时前
C++笔记-21-运算符重载
c++·笔记
学习_学习_再学习5 小时前
ffmpeg学习记录
学习·ffmpeg
草莓熊Lotso5 小时前
C++ 继承特殊场景解析:友元、静态成员与菱形继承的底层逻辑
服务器·开发语言·c++·人工智能·经验分享·笔记·1024程序员节
诸葛思颖5 小时前
把本地 Python 项目用 Git 进行版本控制并推送到 GitHub
git·python·github
yuxb735 小时前
Zabbix企业级分布式监控系统(下)
笔记·zabbix