环境准备

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

OS: Windows7
Git:2.19.1
IDEA: 2017.2.2

注意:本案例源码GitHub仓库

本地Git安装与SSH秘钥

Git安装
Git相关配置

GitHub秘钥配置

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

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

IDEA配置Git

File–Other Setting–>Default Settings–>Version Control–>Git
IDEA集成Git操作
IDEA集成Git操作

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

推送本地项目到GitHub

新建测试项目

IDEA集成Git操作

创建本地仓库

对新建项目使用Git版本管理控制工具:
IDEA集成Git操作
IDEA集成Git操作
IDEA集成Git操作

IDEA集成Git操作

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

项目提交本地仓库

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

推送至GitHub

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

URL:对应GitHub上Repository的URL

从GitHub上检出项目

VCS–>Checkout from Version Control–>Git
IDEA集成Git操作
IDEA集成Git操作
IDEA集成Git操作

问题一:在检出项目时出现以下提示,解决方案
IDEA集成Git操作

问题二:Maven项目src下的代码不显示,解决方案
IDEA集成Git操作

提交和下拉

提交

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

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

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

下拉

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

分支操作

创建分支

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

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

分支切换

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

分支合并

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

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

IDEA集成Git操作
查看master分支,发现已经合并。
IDEA集成Git操作

分支删除

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

远程仓库版本回退

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

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

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

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

文件对比

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

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

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

冲突文件处理

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

IDEA集成Git操作

相关文章:

  • 2022-12-23
  • 2022-01-07
  • 2021-09-01
  • 2021-12-01
  • 2021-11-01
  • 2022-12-23
猜你喜欢
  • 2021-07-14
  • 2021-12-04
  • 2021-11-23
  • 2021-11-28
  • 2021-08-16
  • 2022-12-23
相关资源
相似解决方案