IDEA集成Git操作

    xiaoxiao2025-08-13  5

    文章目录

    环境准备本地Git安装与SSH秘钥GitHub秘钥配置IDEA配置Git推送本地项目到GitHub新建测试项目创建本地仓库项目提交本地仓库 推送至GitHub从GitHub上检出项目提交和下拉提交下拉 分支操作创建分支分支切换分支合并分支删除 远程仓库版本回退文件对比冲突文件处理

    环境准备

    开始前请配置一下相关软件(并不要求版本一致):

    OS: Windows7 Git:2.19.1 IDEA: 2017.2.2

    注意:本案例源码GitHub仓库

    本地Git安装与SSH秘钥

    Git安装 Git相关配置

    GitHub秘钥配置

    头像下拉箭头–>Setting–>SSH and GPG keys–>new SSH Key,将 标题随便写,key放入Git生成的SSH公钥。

    注意:id_rsa.pub直接用文本编辑器打开即可。

    IDEA配置Git

    File–Other Setting–>Default Settings–>Version Control–>Git

    配置本地安装Git所在目录选择使用本地Git SSH秘钥文件测试是否成功。

    推送本地项目到GitHub

    新建测试项目

    创建本地仓库

    对新建项目使用Git版本管理控制工具:

    注意:项目的本地Git仓库默认位置为项目路径下。

    项目提交本地仓库

    将项目加入到Git版本管理中:项目右键–>Git–>Add 提交到本地仓库:项目右键–>Git–>Commit Directory 填写提交信息 提交成功,IDEA右下角弹出成功提示

    推送至GitHub

    如果远程仓库没有对应仓库: 如果远程仓库有对应仓库:项目右键–>Git–>Repository–>Push; 指定对应Repository,然后Push.

    URL:对应GitHub上Repository的URL

    从GitHub上检出项目

    VCS–>Checkout from Version Control–>Git

    问题一:在检出项目时出现以下提示,解决方案。

    问题二:Maven项目src下的代码不显示,解决方案。

    提交和下拉

    提交

    当我们对本地代码有修改时,如增加、修改、删除等,为了让同事知道我们的最新代码,我们就需要将代码上传至Git远程仓库中,代码从本地上传至远程仓库就需要push,步骤如下:

    提交至本地仓库–>commit推送到远程仓库–>push

    例如我们在项目中增加一个HelloWorld类,并且修改README.md文件的内容; 将新增文件提交到本地仓库:项目右键–>Git–>Commit Directory 填写提交信息,点击commit 推送到远程仓库:项目右键–>Git–>Repository–>Push 可以看到本地提交了几次,这里我不小心多提交了次。确认无误点击push; IDEA右下角会出现以下提示,说明成功推送到远程仓库中: 查看GitHub中,文件成功上传至GitHub并且有了本次提交记录:

    下拉

    考虑一个问题,如果同事也修改了README.md文件,那么我们直接推送就会覆盖他的代码,为了避免这个问题,我们需要在push之前将远程仓库上最新的代码下拉至本地,这就是pull. 我们在新检出的项目IDEA_Git02中下拉IDEA_Git刚刚推送的代码:项目右键–>Git–>Repository–>Pull

    分支操作

    创建分支

    在IDEA中创建新的分支:项目右键–>Git–>Repository–>Branches…–>New Branch 填写分支名称,点击OK 点击IDEA右下角:Git:dev就可以知道分支已经建好,且当前分支是dev;

    注意:此时分支是在本地存在,远程仓库并不存在,因此我们需要利用我们前面讲的提交,推送到远程仓库。 推送后我们可以在远程仓库中看到dev分支:

    分支切换

    点击IDEA右下角:Git:dev我们可以看到本地有dev和master两个分支且当前分支为dev; 点击master分支上的小箭头,选择Checkout就会切换到master分支上。

    分支合并

    当我们在dev分支上做了修改,那么我们要把dev上的修改合并到master分支上: 将当前分支切换至master 选择dev分支–>Merge

    这里分Merge的意思是将选中分支合并到IDEA当前所在分支。

    查看master分支,发现已经合并。

    分支删除

    在某些情况下我们需要删除某些分支,那么我们需要在IDEA中删除本地分支,再推送至远程仓库: 我新建一个uat分支,我们删除这个分支。 点击uat分支–>Delete 删除成功。

    远程仓库版本回退

    在IDEA中操作GIt仓库远程版本回退步骤如下:

    修改相关文件并提交作为版本回退测试: 打开Git历史提交记录:项目右键–>Git–>Show History

    3. 复制版本号:复制要回退到的旧版本号和当前最新版本号 版本号右键–>Copy Revision Number 当前版本号:4bd216941c9fb973ba1d65c9950e1cab1cf2cd2f 旧版本号:d35a96ba85a27a4e78c17c60478e6bbc806d1b78 4. 版本回退:右键项目–>Git–>Repository–>Reset HEAD… 在这里我们需要了解Reset Type:hard、soft、mixed的区别 此时没有改变提交,但是Push会提示冲突错误,解决办法如下两种方法: 方法一:使用Hard会退本地代码,使用Git命令强制提交,本方法会将原有提交记录全部抹除

    git push -f 重新使用Hard回退操作,会退回最新版本,并且push到远程仓库。 方法二:先使用Hard操作回退本地代码,再使用Mixed操作回退至新版本,再提交push。该方法本质上相当于一次修改提交而已。 使用Mixed将版本号回退到最新版本号

    文件对比

    在Eclipse中我们可以很方便的与本地和远程分支对比文件的改变,IDEA中也可以做到这样的功能,不过不同的一点是,Eclipse中是实时维护本地远程分支与远程分支的信息,而IDEA不是,需要手动Fetch远程仓库分支的索引。 首先在IDEA_Git02修改文件并提交到远程分支: 切换回IDEA_Git:

    执行fetch更新本地远程分支代码索引:右键项目–>Git–>Repository–>Fetch 进行文件对比:右键项目或右键要对比的文件–>Git 这里需要解释在四个选项的含义: Compare with the Same Repository Version:与本地仓库相同版本比较Compare with Latest Repository Version:与本地仓库最新版本比较,注意这里的本地仓库维护这远程仓库的索引信息,如果Fetch后的最新版本就是远程仓库的最新版本。Compare with…:与选择的版本比较Compare with Branch:与选择的分支比较

    了解了以上四个选项的意义就可以自由的对比了,无论是与远程版本对比还是本地版本对比。我们这里主要使用第四个选项与远程master分支比较。 我们可以在文件对比工具中进行提前合并等等操作。

    冲突文件处理

    首先我们在IDEA_Git并提交至远程仓库: IDEA_Git02上修改同一文件并提交至本地仓库: 在IDEA_Git02上pull文件,出现文件合并工具,根据需要选择: 根据差异进行合并,并提交至远程仓库。

    最新回复(0)