IDEA内置git功能的使用教程

IDEA git 

IDEA被公认为是最好的java开发工具,除了在代码助手、代码提示、重构工具等方面有比较好的支持,还在各类版本控制工具(git、tfs、svn、github等)功能上可以说是超强的。近期一个 Java项目使用了IDEA作为开发工具,也是摸索了一段时间,下边就对IDEA内置Git功能的使用做的一个整理。

使用前的准备

  1. 先要安装 git 的管理工具到本地,关于git的下载安装可以看这里
  2. 配置好环境变量;
  3. 通过终端命令“git version”可以查看git工具的版本:

 
  1. 对git有基本的理解,这个你可以去网上查找git的教程或说明,很多的。简单来说Git是一个开源的分布式版本控制系统,可以对项目版本进行管理。

Git简单原理图
  1. 选择git服务器

IDEA中使用git的功能

(克隆、提交、推送、分支、冲突解决、历史查看、版本回退、版本对比)

1. 在IEDA里配置git执行程序的路径

  • 安装完Git工具后第一步需要在IEDA里配置git执行程序的路径,选择 【File】→ 【Settings】→ 【Vwesion Control】→ 【Git】,选择git可执行文件的路径(正确配置的情况下,点击Test会弹出git版本的提示)

配置git可执行文件路径

2. 在远程git服务器上创建仓库

  • 在github上创建一个空白的远程仓库,用于存储开发过程中的代码

创建远程仓库
  • 将生成的git仓库的地址复制下来

 

3. 使用IDEA中Git工具从远程仓库克隆项目

  • 打开IDEA,选择菜单上的 VCS(版本控制工具),选择【Checkout from Version Control】→【Git】

 
  • 然后将上边复制的 git仓库地址粘贴到URL中,选择一个本地一个空的目录作为工作区,如图,然后点击 Clone

 
  • 克隆完成之后,IDEA会提示导入项目,这边选择创建一个新的项目作为演示使用

 
  • 创建一个简单的 Java web应用程序

 
  • 此时打开项目文件夹可以看到下图:

 

4. 添加文件到暂存区

  • 开始程序员造天地了,我们在项目里每添加一个文件,IDEA就会询问我们是否将文件添加到Git,选择【Add】将文件添加进git暂存区,此时git就可以对其文件进行追踪。

 
  • 那如果在上面的提示中不小心选中了No,可以通过另一种方式添加到git暂存区。如图,点击文件右键 → 【Git】→ 【Add】

 

5. 提交到本地仓库

  • 完成代码的开发后,需要将修改和添加的代码或文件提交到本地仓库上(文件已添加至暂存区,受git追踪),选择【VCS】→ 【Commit】进行如下图图示操作:

提交

6. 推送到远程仓库

  • 把代码推送到远程服务器上,点击项目右键 →【Git】→【 Repositry 】→【Push】

推送
  • 打开推送提交的窗口,点击【Push】

 
  • 在推的过程中,会弹出输入git服务器的用户名和密码的窗口,正确输入即可,一次输入后后续继续提交推送可不用再输入了

登录Github
  • 推送成功后,在 github 服务器上就会看到新推送的项目文件

 

7. 分支开发

  • 划重点了,使用分支管理是有一定意义的(Git分支的作用),简单来说分支可以让你在主线(master分支)之外进行代码的修改提交,同时又不会影响主线代码。假如,现在项目开发完成,需发布1.0版本,然后添加一个1.0的分支。

打开分支面板
  • 打开git分支的面板,点击【New Branch】

创建新分支
  • 输入分支名称,点击【OK】,创建了1.0的分支

添加1.0分支
  • 然后切换回主干分支,进行2.0版本的开发

切换主分支
  • 在主干分支上添加了用户的新的功能,然后提交和推送到服务器上

 
  • 切换到1.0分支,进行Bug修复,同样别忘了提交并推送到远程1.0的分支上

 
  • 在github仓库上可以看到1.0和master两个分支

 

8. 分支合并

  • 在1.0分支上完成BUG修改后,将主分支(master分支)与1.0分支进行合并。切换到master分支,然后进行下图的操作:

打开合并分支面板
  • 选择合并的分支(remote/orgin/1.0-提交到远程服务器上的1.0版本),填写合并的消息,点击【Merge】。

合并分支
  • 合并后,就把 master分支推上服务器。然后再从 mater 中创建2.0分支,那么 master 就是3.0分支了

创建2.0分支
  • 远程仓库里就有了三个版本

 

9. 冲突解决

  • 冲突的场景

    • 多个分支合并的时候(下边演示);
    • 在一个分支上拉取或推送远程文件时;
  • 在2.0分支上给项目中的某个类添加一些代码,比如添加个方法,然后提交推送到远程服务器上

2.0分支上的修改
  • 然后在mater分支上同样修改这个类,添加或修改一些代码

mater分支上修改
  • 在mater分支上对2.0的分支进行合并,合并失败,因为代码冲突了

合并2.0版本
  • 在冲突的面板上可以选择一个解决方案来解决冲突,前两个都是进行的覆盖操作,这里选择【Merge】进行手动合并

冲突解决方案
  • 弹出代码合并的对照窗口,一共有三个屏,左右两侧分别是你和服务器的代码,并且高亮显示代码不同的部分,带有箭头和叉号,通过点击 ">>" 将两边冲突的代码添加到中间的合并区域中去,点击 "×" 则放弃那一段代码,待所有冲突处理完成后merge就成功了。

冲突合并

10. 提交历史记录查看

  • 查看文件或项目提交的历史记录:点击文件右键菜单 → 【Git】→ 【Show History】

 
  • IDEA默认展示你当前所选择文件的提交历史,左侧是文件的历史提交列表,右侧是每次提交与上一版本的比较

 
  • 点击左侧的【 log 】,则可以显示整个团队每个人的提交记录;在选中每一次的记录以后,会弹出每次提交的所有文件(对其中弹出的文件右键,可选择对比还原等一些操作,小伙伴们都可以试一试)

 

 

11. 对比不同版本

  • 1.对单个代码文件的比较,点击文件,右键弹出的菜单选项 → 【Git 】→ 【compare with...】,几个比较方式如下:

    • Compare with the Same Repository Version 当前文件与服务器同一分支上该文件版本的内容进行比较
    • Compare with 当前文件与文件各次提交的版本做比较
    • Compare with Branch 当前文件与其他分支上该文件版本进行比较

与不同版本进行比较

 

12. 回退上一个版本

  • 当你误删了一段代码(方法),但又提交了,可以使用下面Get的操作来进行回退。打开文件的历史提交记录(在上边的第10点),选择回退的版本 → 【Get】,然后你就可以看到你的代码又回来了~

 

 

     啦啦啦~ 教程比较简单,更多更具体的应用还应该在我们的开发中去摸索实践。

IDEA内置git功能的使用教程的更多相关文章

  1. 【Git】关于VSCode 内置Git问题

    VSCode的内置git是自动关联本机git的, 所以当提交代码时,VSCode提示[警告:请配置git用户名和账户]时, 只需要在git bash 端配置git config --gobal use ...

  2. [SourceTree] - 使用内置 Git 克隆项目出现 templates not found 问题之解决

    背景 使用 SourceTree 克隆 Asp.Net Core 项目失败. 错误 warning: templates not found C:\Program Files\Git\share\gi ...

  3. XAF应用开发教程-内置Attribute功能列表

    在 XAF 框架,一些用来生成一个业务应用程序的信息是在Attribute中指定.您可以将属性应用到业务类 (或它的成员) 指定验证规则,指定如何对数据进行显示. 设置关系类等.本主题提供了有关在何处 ...

  4. python 内置函数(一),低阶内置函数功能汇总

    python  内置函数  68个 今日主要内容: 1.内置函数 一.内置函数 1.内置函数 详细细节内容地址(id):https://mubu.com/edit/odv-2Dkb6j

  5. 第199天:js---扩充内置对象功能总结

    一.数组 1.删除数组中指定索引的数据 /** 删除数组中指定索引的数据 **/ Array.prototype.deleteAt = function (index) { if (index < ...

  6. 利用正则表达式模拟计算器进行字符串的计算实现eval()内置函数功能

    代码感觉有点绕,刚开始学习python,相关知识点还没全部学习到,还请各位大神多多指教 import re # 定义乘法 def mul(string): mul1 = re.search('-?\d ...

  7. IDEA内置Git管理

    总结:     1.要想用git管理项目,先要将本地项目与git关联,才能进行commit.push.pull等操作:     2.将本地项目于git关联后,本地仓库的地址默认就是项目地址:     ...

  8. django内置分页功能扩展

    实现自定制页码数类型class myPaginator(Paginator): def __init__(self,curr_page,per_page_num,*args,**kwargs): se ...

  9. Django,ajax实现表格增删查改,Django内置分页功能。

    1.工程目录 2.urls.py """Django_ajax URL Configuration The `urlpatterns` list routes URLs ...

随机推荐

  1. servlet中的请求响应与重定向区别

    一.概念 请求响应(转发):将客户端请求转发另一个servlet或者jsp页面------------------------getRequestDispatcher()方法 重定向: 返回一个连接给 ...

  2. redis在windows系统下的安装和两个问题

    今天首次接触redis,遇到一些问题,查了一些资料,在这里汇总整理下. redis的安装看这个:http://www.runoob.com/redis/redis-install.html. 问题1: ...

  3. CentOS 性能监测命令

    1.实时监测命令(watch) -d 高亮显示变化 -n 间隔多久(s) 执行后面的command #每隔1秒显示空间使用情况并列出当前目录下的列表信息 EX:watch -d -n 1 'df -h ...

  4. CSS文本超出指定行数省略显示

    单行: overflow: hidden; text-overflow: ellipsis; white-space: nowrap; 2行: font-size: 17px;overflow: hi ...

  5. centos7 下安装pycharm

    CentOS 7环境下Pycharm安装流程记录: 1.准备安装文件: 方法1: 使用内置火狐浏览器访问下载最新格式为tar.gz的压缩包 网址:https://www.jetbrains.com/p ...

  6. mybatis电子商务平台b2b2c

    技术解决方案 开发语言: java.j2ee 数据库:mysql JDK支持版本: JDK1.6.JDK1.7.JDK1.8版本 核心技术:分布式.云服务.微服务.服务编排等. 核心架构: 使用Spr ...

  7. 设置DataGridView中表头颜色

    默认的DataGridView表头颜色实在不是太好看,想设置下,上google搜了一通, 都说这样设置 this.dataGridView1.ColumnHeadersDefaultCellStyle ...

  8. 20175316 盛茂淞 2018-2019-2 《Java程序设计》实验一 Java开发环境的熟悉 实验报告

    20175316 盛茂淞 2018-2019-2 <Java程序设计>实验一 Java开发环境的熟悉 实验报告 一.实验要求 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA ...

  9. Linux环境部署项目引起Out of Memory Error: PermGen Space的解决方案

    1. 背景 前几天,在搭建项目时遇到到一些问题,现在整理记录一下. Linux环境:Red Hat Enterprise Linux Server release 6.4: # 查看命令cat /et ...

  10. springsecurity 源码解读之 SecurityContext

    在springsecurity 中,我们一般可以通过代码: SecurityContext securityContext = SecurityContextHolder.getContext(); ...