当前位置:   article > 正文

基于IDEA进行Git操作小结_idea git push

idea git push

前言

git是我们日常用的比较多的版本管理工具,在强大的IDEA支持下,git中很多操作都变得很方便,所以这篇文章就专门来介绍一下基于IDEA的关于git的一些常见操作的使用方式。

环境准备

为此我们不妨在gitee上创建一个实验项目。

在这里插入图片描述

点击创建之后,将仓库名称命名为idea-git,项目设置为私有,完成这些设置之后点击创建即可。

在这里插入图片描述

为了方便后续项目的演示,我们在这里顺手把readme初始化一下

在这里插入图片描述

自此我们的项目就准备好了。

在这里插入图片描述

常规操作

克隆项目到本地

我们日常将项目clone到本地可能都是通过图形化工具将项目clone到本地

在这里插入图片描述

其实IDEA也有办法将项目clone到本地,如下所示,通过导航栏的vcs选择checkout from version control,然后点击git。

在这里插入图片描述

将从gitee上复制的仓库地址粘贴到url上,点击clone,这时候IDEA就会自动将项目clone到对应的文件夹下。

在这里插入图片描述

注意这里我们项目还是个空项目,所以暂时不将其创建为项目,所以这里选择no。

在这里插入图片描述

初始化项目并提交代码到远程仓库

我们到spring官网创建一个基础的spring boot项目,然后将代码复制到gitee克隆下来的项目中。

在这里插入图片描述

完成这些步骤之后,我们再通过idea将这个项目打开。可以看到一堆红色的文件,说明这些文件目前还没有被git受控。

在这里插入图片描述

此时我们点击IDEA右上角的commit键将需要提交的文件勾选提交到本地仓库。

在这里插入图片描述

这里笔者为了方便直接勾选所有文件。然后直接点击右下角的push。

在这里插入图片描述

如果IDEA弹出这样的输出就说明代码提交到本地仓库成功了。

在这里插入图片描述

然后我们就可以通过push键将本地仓库的代码提交到远程仓库。注意IDEA默认这里是没有push键的,如果读者希望push键出现在右上角可以参考笔者的这篇文章:在IDEA中配置Git的Push键

在这里插入图片描述

此时我们到gitee查看仓库,可以看到我们刚刚的提交记录了。

在这里插入图片描述

从远程仓库拉取代码

为了演示从本地拉取远程仓库的更新,笔者这里直接在gitee上直接完成仓库的修改。我们直接在项目中点击readme.md这个文件。

在这里插入图片描述

然后点击编辑进行文件修改操作。

在这里插入图片描述

我们将内容进行一番操作

在这里插入图片描述

然后添加提交信息并将修改保存

在这里插入图片描述

可以看到这里修改生效了,然后我们就可以通过IDEA拉取这个改动了。

在这里插入图片描述

这里我们介绍两种拉取更新的操作,第一种就是直接点击pull键进行拉取。它会将默认的分支的改动直接拉取到本地,这种方式默认分支情况下比较推荐。

在这里插入图片描述

这里笔者演示一下第二种,如果仓库中有多分支的情况,我们希望本地仓库拉取指定分支的代码那么就需要使用第二种方式。

首先对准项目右键点击git找到pull选项,如下图

在这里插入图片描述

此时就会弹出所有的远程分支,因为我们这里只有一个默认的master,所以我们直接默认master点击pull即可

在这里插入图片描述

可以看到我们成功的拉取到远程代码的修改了。

在这里插入图片描述

基于IDEA解决提交时的文件冲突

有时候我们在本地修改某个文件的时候,远程的文件已经被人修改了,这种情况就会导致提交时会出现冲突,git就会要求我们解决冲突后才能提交。

在这里插入图片描述

我们不妨模拟一下这种情况,首先在gitee上将readme改为bbb,模拟开发人1修改了代码。

在这里插入图片描述

修改提交信息,保存这个修改操作。

在这里插入图片描述

然后我们本地将文件内容修改为ccc,尝试push到远程仓库

在这里插入图片描述

这里我们直接选择commit and push将文件提交上去。

在这里插入图片描述

提交过程中IDEA报提示说远程分支拒绝接受修改,因为远程仓库有了最新的修改,所以我们需要在本地将远程仓库的修改合并到本地代码中,所以我们点击merge进行合并

在这里插入图片描述

然后IDEA就会弹出产生冲突的文件,这里有3种合并方式:

  1. 将冲突文件内容覆盖为我们的本地文件。
  2. 将冲突文件的内容改为远程仓库的内容。
  3. 手动合并。

所以我们选择第3个选项,直接点击merge。

在这里插入图片描述

可以看到面板分为3栏,左边的我们的文件,中间我们本地修改前的内容,右边为远程仓库修改的值。

在这里插入图片描述

我们希望保留远程仓库的修改,所以我们先点击右边的箭头,保住其他人的修改。

在这里插入图片描述

然后再点击左边的箭头,将我们的修改放到下一行。

在这里插入图片描述

最终修改结果如下,点击apply完成代码合并。

在这里插入图片描述

最后点击push将代码提交

在这里插入图片描述

到gitee上查看修改成功与否,可以看到我们将冲突解决并将自己的代码提交了。

在这里插入图片描述

取消文件版本控制

有时候IDEA会自动将某些文件受控到版本控制中,如下所示。

在这里插入图片描述

如果我们不希望某些文件受控的话,可以对着文件键入CTRL+alt+z然后就会弹出下面的对话框,我们选择rollback,即可将文件取消受控。

在这里插入图片描述

最终文件就会变成这样。

查看git仓库的提交历史

我们希望在IDEA中可以看到关于当前项目中所有的修改历史,那么我们可以通过导航栏找到version control或者用快捷键alt+9将版本控制历史记录调出来。

在这里插入图片描述

可以看到IDEA最下方此时就会输出提交的日志,我们在这里就可以看到我们的所有操作了。

在这里插入图片描述

将多次提交合并成一个提交

有时候我们为了修改一个bug进行了多次commit,如下图所示,我们希望将这些修改合并成一次commit,我们完全可以通过IDEA实现这个操作。

在这里插入图片描述

操作方式很简单,我们找到需要合并的最早一个提交,点击下图所示选项

在这里插入图片描述

将第一条设置为pick,其余的修改都设置为squash,点击start rebasing。

在这里插入图片描述

键入合并的信息,点击resume rebasing

在这里插入图片描述

自此,修改合并成功了。

在这里插入图片描述

代码回退操作

回退工作区代码

我们在开发过程改动了某个文件,对这个文件进行各种增增改改,我们希望将文件还原回修改前的样子,在IDEA的操作下,这种工作区代码还原非常方便。

我们可以在local change中看到本次修改的文件。可以看到我们修改了readme.md。

在这里插入图片描述

我们不妨对准readme.md键入ctrl+d

在这里插入图片描述

然后我们就会看到变化的内容了,然后我们直接点击箭头即可将代码还原回去。

在这里插入图片描述

可以看到工作区的代码直接还原了。

在这里插入图片描述

本地代码回退到历史版本

有时候我们希望本地代码可以回退到之前修改的某个版本查看代码的改动记录,例如我们希望回退以看到最早初始化的代码,但是我们不希望这个回退后可以还原,对远程仓库没有任何影响。

在这里插入图片描述

做法很简单,对准需要回退的修改中右键选择下图所示选项。

在这里插入图片描述

选择hard选项,这个选项会将工作区和缓存区代码全部重置。

在这里插入图片描述

可以看到回退后我们就可以看到这个修改时所有代码的样子了。

在这里插入图片描述

远程代码回退到历史版本

还是接上一个例子,我们希望将回退的代码提交到远程仓库中,很简单,我们直接对着这个修改右键选择revert即可。

在这里插入图片描述

然后点击commit and push即可

在这里插入图片描述

可以看到,代码直接被还原了。

在这里插入图片描述

分支管理

本地创建分支并推送到远程仓库

我们使用git开发的模式都是通过分支修改合并到主干的方式完成的,所以我们也希望可以在idea实现创建一个名为dev的分支并推送到远程仓库。

操作方式很简单,点击右下角的git:master,然后选择new branch

在这里插入图片描述

然后将分支名设置为dev

在这里插入图片描述

此时我们的分支dev就创建完成了,并且分支也切换到dev上。

在这里插入图片描述

然后我们直接点击push即可将dev分支提交到远程仓库上。

在这里插入图片描述

IDEA输出这段文字就说明提交完成了。

在这里插入图片描述

查看仓库可以看到dev分支已经出现了。

在这里插入图片描述

本地切换分支

我们上文将分支切换到dev,我们希望本地分支切换为master进行开发。操作方式也很简单,点击右下角,选择master。

在这里插入图片描述

然后选择checkout即可

在这里插入图片描述

将分支代码合并到主干上

我们希望dev分支修改的记录可以合并到主干master上。基于IDEA我们也可以很简单的完成这个操作。
为了演示这个操作,我们首先修改dev分支,将readme修改并提交。

在这里插入图片描述

然后回到master分支,右键项目选择pull

在这里插入图片描述

选择dev点击pull,可以看到master分支得到的dev关于readme的修改。

在这里插入图片描述

然后我们将这个修改push到远程仓库即可

在这里插入图片描述

将分支2的代码合并到分支1上

我们在分支2修改了代码,希望将这个修改合并到dev1上。对此我们也可以用IDEA实现这个操作,首先我们创建一个dev2的分支对readme进行修改并提交到远程仓库。

在这里插入图片描述

然后将分支切换到dev,选中远程仓库分支dev2选择merge info current将分支2的代码合并到分支1上。

在这里插入图片描述

然后我们的dev分支就会得到dev2的修改结果,我们将其push到远程仓库即可。

在这里插入图片描述

删除本地分支

例如我们想删除本地分支dev2,我们退出这个分支,然后右下角git找到这个分支点击选择delete即可。

在这里插入图片描述

删除远程分支

删除远程分支的方式和本地分支差不多,这里就不赘述了。

在这里插入图片描述

可以看到选择delete之后,远程仓库关于dev2的信息都消失了。

在这里插入图片描述

参考文献

IDEA中的Git操作,看这一篇就够了!

开发中实用的git命令以及IDEA中的git操作整理

idea如何把git的多次commit合并为一条

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/491852
推荐阅读
相关标签
  

闽ICP备14008679号