git是一个优秀的分布式版本控制系统。但是当集成到IDEA中,每一个功能又该怎么操作呢?这篇文件涵盖了IDEA中常见的Git功能的操作,每一步都有图示,强烈建议收藏。

1. 下载安装与配置

1.1 下载安装Git

进入到Git官网的下载地址:https://git-scm.com/downloads

选择和自己操作系统相符的版本。

我这儿是选择的windows版本。
在这里插入图片描述

然后,按照提示安装完成。

最后一定要记得把git安装目录下的bin目录添加到windows系统的环境变量中。

安装Git步骤可以参考Git安装教程(windows)

1.2 在IDEA中配置Git

在IDEA中依次点击file->setting->version control -> Git

在这里插入图片描述

首先在step1的位置填上你安装的git中的git.exe路径,然后点击step2处的test测试一下。最后点击step3的ok按钮,然后就大功告成了!

2. 克隆Github项目到本地

先在Github上创建一个空的仓库。

在这里插入图片描述

为新仓库填写名称,并且勾选初始化readme.md文件。
在这里插入图片描述
接下来点击create repository按钮,然后就会跳转到下面的仓库页面。

在这里插入图片描述
点击clone or download按钮可以看到该新建项目的ssh地址,把这个地址复制一下,一会儿会用到。

第一次使用IDEA中的Git时,需要开启版本控制系统VCS->Enable version control…。

在这里插入图片描述
接下来选择Git作为版本控制系统。
在这里插入图片描述
点击确认。

在这里插入图片描述

接下来打开IDEA,依次打开VCS->Git->clone,如下图所示。

在这里插入图片描述
然后输入在Github上的仓库的url,也就是上面复制的那个url地址,可以点击tes测试一下。Directory是最后克隆到本地后仓库所在的上层目录,可以根据需要进行调整。最后点击clone按钮。

在这里插入图片描述

接下来就是确认与等待了。
在这里插入图片描述
点击下一步。

在这里插入图片描述
点击下一步_2

在这里插入图片描述
在这里插入图片描述
接下来就可以看到clone成功了,在本地可以看到readme.md内容了。

在这里插入图片描述

3. 上传IDEA中已有的项目到Github

接下来我们看一下怎么把本地已有项目上传到Github中。

首先在IDEA中创建一个普通的java项目File->new->project。然后点击next。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
创建成功的项目如下所示:

在这里插入图片描述
和clone项目一样要开启版本控制系统。具体步骤参看上面第2小节的步骤。

接下来,依次点击VCS->Import into Version Control -> Share Project on Github。
在这里插入图片描述
接下来可以写一些描述,然后点击share。

在这里插入图片描述
接下来就是确认要推送的文件了。
在这里插入图片描述
好了,现在就已经把本地IDEA创建的项目推送到github上了。如果过程中需要输入你的github用户名和密码,那么按照提示输入就行,大体步骤就是上面这些流程。

4. 版本管理

4.1 提交修改

下载我们把gitdemo_2项目中的Main.java文件做一些修改。

修改前:

在这里插入图片描述
修改后:

在这里插入图片描述
然后就是要提交修改了,非常的简单。依次点击CVS->git->commit file
在这里插入图片描述
然后就是确认修改的内容,强烈建议一定要提交的备注信息。
在这里插入图片描述
好了,现在就完成了提交修改。不过得注意,提交的修改是到本地git版本库了,并没有推送到github上。所以接下来就是推送修改到远程库github上了。

4.2 推送修改

推送修改的过程也很简单,依次点击VCS->Git->Push

在这里插入图片描述
接下来确认要推送的修改。
在这里插入图片描述
然后等一会儿就好了。最后可以到对应的github仓库上验证一下是否推送成功了。

在这里插入图片描述
可以看到已经推送成功了。

4.3 查看历史

查看版本历史很简单,首先把鼠标在项目名称上点击一下,然后选择Git->Show History。
在这里插入图片描述
接下来就可以看到版本历史信息了。
在这里插入图片描述

4.4 版本回退

可能会遇到这种情况,就是对程序进行了修改,但是现在退回到之前的版本上。

现在我们创造一个这种情况。

首先对Main文件进行两次修改,每一次修改都提交,并且推送到远程Github仓库上。

两次修改后的main文件内容如下:
在这里插入图片描述
接下来进行第三次修改,但是这次只进行提交,不进行推送。修改后的Main的内容如下。
在这里插入图片描述
可以在git的log中看到远程origin/master分支指向的是第二次修改,本地的master分支指向的是第三次修改了。

现在第三次还么有进行提交,所以只需要简单的操作就可以回退到版本了。

本地回退

首先在log中复制要退回到的旧版本的版本号。我这儿选择是第二次修改的提交,你也可以选择其他的,按时实际情况来。

在这里插入图片描述
接下来依次点击VCS->Git->Reset HEAD
在这里插入图片描述
然后输入刚才复制的旧版本的版本号,类型一定要选择hard,最后点击reset按钮。
在这里插入图片描述
接下来可以看见Main文件的内容退回到指定的旧版本了,并且Git的log也做了相应的回退。
在这里插入图片描述
可以看到远程origin/master和本地master都执行了第二次修改的提交。

远程仓库回退

上面一种情况是还没有把修改提交到远程仓库的退回,是比较好修改的。下面要介绍的远程仓库版本退回就没有那么容易了。

接下来还是构造一下场景,接着上面的程序版本,首选对Main进行第三次修改,提交修改并推送到远程Github仓库上。下面是修改后的结果。
在这里插入图片描述
注意看Main文件内容和Git的log信息。

首先还是复制第二次修改的版本号。

在这里插入图片描述
然后进行本地回退
在这里插入图片描述

在这里插入图片描述
接下来可以看到Main文件的内容确实回退了,本地master也指向了第二次提交,但是远程仓库origin/master依然指向的是第三次提交,这会出现问题的。

接下来我们要把本地“版本退回”这个修改提交到远程仓库上去。
在这里插入图片描述
在这里插入图片描述
可以看到Github拒绝了我们的推送。其原因应该是远程仓库的仓库快照(commit)是提前我们本地的,所以不行。那现在怎么解决呢?

在这里插入图片描述
解决方法还是有的,首先点击Cancel。然后我们复制刚才回退之前的最新版本的版本号,也就是第三次提交的版本号。
在这里插入图片描述
然后再进行本地版本退回,不过这次要选择Mixed类型,把我们上边复制的退回之前的最新版本号粘贴进去。

在这里插入图片描述
然后点击Reset按钮,可以看到文件内容没变,但是本地master和远程origin/master都指向第三次修改。

在这里插入图片描述
接下来就是先提交修改,然后向远程仓库推送这一次的修改了。

在这里插入图片描述
在这里插入图片描述
依次VCS->Git->push进行远程推送

在这里插入图片描述
在这里插入图片描述
可以看到推送成功了:
在这里插入图片描述
然后我们再看看Github上的内容:
在这里插入图片描述
可以看到Github上的Main文件内容也被退回到旧版本了。

4.5 拉取远程仓库

依次点击CVS->Git->pull就可以进行拉取远程库内容了。
在这里插入图片描述

5. 分支管理

5.1 新建分支

第一步,依次选择CVS->Git->branches
在这里插入图片描述
然后选择新建分支。

在这里插入图片描述
输入新分支名称,例如dev。

在这里插入图片描述
然后选择OK.

可以看到左下角显示已经切换到新建的dev分支了。

在这里插入图片描述
我们再看看Github上是否有新分支dev.

在这里插入图片描述
啊???为什么Github上没有新建的dev分支?原因是我们再本地新建dev分支这个修改还没有提交并推送到远程仓库。

好了,现在我们再本地进行提交修改并提交到远程仓库。

CVS->Git->commit files,然后确认信息。
在这里插入图片描述
然后推送到远程仓库,CVS->Git->push。

然后我们再看Github上的分支信息,就可以看见dev分支了 ^_^

在这里插入图片描述

5.2 合并分支

为了演示合并分支,我们现在dev分支上进行一些修改。

在这里插入图片描述
然后提交修改并推送到远程仓库。

接下来切换到master分支。

依次点击CVS->Git->branches,然后做下面的选择。在这里插入图片描述
可以看到文件内容已经切换回master分支,并且左下角也显示现在已经在master分支。
在这里插入图片描述
然后依次点击CVS->Git->branches,选择要合并到当前分支(master)上的分支,并且选择Merge into current。
在这里插入图片描述
注意:

  • 当前必须切换到master主分支
  • 然后在要合并的分支上点击merge

最后提交到远程仓库, CVS->Git->push。
在这里插入图片描述
可以看到master分支的内容发生改变,并且本地、远程的master分支和dev分支都指向最新的修改。

5.3 切换分支

在5.2中已经演示出如何从dev分支切换回master分支了,CVS->Git->branches,然后选择master分支->checkout。

5.4 删除分支

首先依次点击CVS->Git->branches
在这里插入图片描述
然后点击对应的分支删除,比如dev分支->delete。
在这里插入图片描述
可以点击一下左下角的git分支信息,看看还有没有dev分支了。
在这里插入图片描述
可以看到本地分支中已经没有dev了。但是远程仓库分支中怎么还有dev?那是因为我们还没有删除远程的dev分支呢。

依次点击CVS->Git->branches,然后选择远程的dev分支进行删除。
在这里插入图片描述
可以发现现在已经IDEA已经显示没有远程仓库的dev分支了。
在这里插入图片描述
让我们再看看Github上的情况。

在这里插入图片描述
大功告成,本地和远程仓库的dev分支都已经被删除了。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐