本文介绍使用IDEA控制Git操作

关联本地Git客户端

首先要根据系统环境安装Git客户端

然后使用File --> Settings -->  Version Control --> Git配置客户端安装目录

创建本地仓库

根据项目要求创建自己的项目

然后使用VCS --> Import into Version Control  --> Create Git Repository...在项目上创建Git仓库

创建成功后会在项目文件夹内出现.git 目录

克隆远程仓库

我们可以通过两种方式克隆Git项目。

第一种,通过其他工具(如:Git Bash)将Git项目克隆到本地,然后使用IDEA直接打开项目。File --> Open...

第二种,使用IDEA从版本库直接导入项目。File --> New --> Project from version control --> Git

我们需要填写Git版本库URL、存储目录

提交代码

我们如果希望文件被Git管理那我们就要将文件进行add操作。

在IDEA中我们只要对某个文件设置一次add,之后就不用在手动进行add了。

文件右键 --> Git --> Add

提交代码时我们使用 文件右键 --> Git --> Commit Directory...进行提交

分支管理

分支管理主要集中在IDEA的右下角操作区。

主菜单功能

New Branch : 从当前分支新建分支。上图就是从master分支创建新的分支。

Checkout Tag or Revision : 使用分支、标签或提交编码,检出一个临时分支。

Local Branches : 本地分支列表。同时显示对应了那个远程分支。

Remote Branches : 远程分支列表。

本地分支菜单

Checkout : 检出这个分支。

Checkout As... : 使用这个分支创建新的分支并检出到新分支。

Compare With... : 使用当前分支与所选分支做代码提交比较。

Rebase Current onto Selected: 在当前分支做变基。(将所选分支提交加入到当前分支)

Checkout with Rebase : 检出所选分支并做变基。(将当前分支提交加入到所选分支)

Merge into  Current: 合并到当前分支(将所选分支合并到当前分支)

Rname:修改所选分支名称

Delete :删除所选分支

远程分支菜单

Checkout As... : 使用远程分支创建一个新的本地分支,并检出这个分支。

Compare With : 使用当前分支与所选分支做代码提交比较。

Rebase Current onto Selected : 在当前分支做变基。(将所选分支提交加入到当前分支)

Merge into  Current: 合并分支(将当前分支与所选分支进行合并)

Delete :删除所选分支

本地分支推送到远程仓库

检出要推送的分支,然后项目右键 --> Git --> Repository --> push

push的时候会有new标签提示会在远程新建分支

标签管理

检出要打标签的分支,然后Git --> Repository --> Tag...

本地标签推送到远程仓库

项目右键 --> Git --> Repository --> push

然后选中底部的Push Tags。我们可以选择推送所有标签还是当前分支标签。

代码拉取、推送

代码拉取项目右键 --> Git --> Repository --> pull

代码推送项目右键 --> Git --> Repository --> push

变基操作

普通变基

选择分支执行变基操作。这里需要注意当前分支为补丁分支,选中的分支为基底分支。也就是说当前分支提交会添加在选中分支提交之后。

合并提交(交互式变基)

在代码没有pull前我们可以在本地分支进行提交的合并。这样会使得远程分支不去关心本地开发过程日志,而使得远程日志干净整洁。

变基前log

找到要合并的第一条log,然后右键选择Interactively Rebase from Here...进行交互式变基

(此选项低版本IDEA可能没有请更新到2018版以上)

除题一条外其他全部选择squash随前面的提交一并提交

编辑交互式变基提交说明。默认显示合并的所有提交的内容,我们也可以添加和修改内容。

变基后日志

查看提交日志

log页签

查看控制台

console页签。在控制台中我们可以看到实际执行的git命令,可以帮助我们查找问题。

储藏工作区

有时我们需要经正在编写的代码临时储藏,然后去修改一些bug,完成bug修改后进行恢复。这时我们可以使用代码储藏。

项目右键 --> Git --> Repository --> Stash Changes

填写储藏名称

这是我们会发现修改的代码不见了。

之后我们要恢复储藏区的内容

项目右键 --> Git --> Repository --> UnStash Changes

选择要恢复的暂存名称并恢复暂存

这时我们发现修改的代码又回来了

提交回退

我们如果想要放弃最近一次提交的内容可以使用提交回退

回退前log

项目右键 --> Git --> Repository --> Reset HEAD...

执行回退(HEAD后面加几个^就回退几次提交)

执行后日志

管理远程仓库地址

项目右键 --> Git --> Repository --> Reotes...

提交应用(挑樱桃)

我们可以使用提交应用的方式,将一次提交应用在其他分支上。

首先我们要切换至需要应用提交的分支上。

然后在log界面找到那次提交,右键 --> Cherry-Pick

Git版本控制 —— IDE工具(IDEA)的更多相关文章

  1. Git版本控制工具学习

    Git代码管理工具学习 分布式管理工具:git 相比较svn它更加的方便,基本上我们的操作都是在本地进行的. Git文件的三种状态:已提交,已修改,以暂存. 已提交:表示文件已经被保存到本地数据库. ...

  2. Git版本控制工具(三)----远程仓库GitHub的使用

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  3. git版本控制工具(二)----本地版本库的常用操作

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  4. Git版本控制工具(一)----git的安装及创建版本库

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  5. Git 版本控制工具(学习笔记)

    GIT(分布式) 一.Git 初始版本控制工具 1. 安装Git Ubuntu系统下,打开shell界面,输入: sudo apt-get install git-core  之后回车输入密码,即可完 ...

  6. 使用Git版本控制工具管理GitHub

      使用Git版本控制工具管理GitHu Git是一个分步式的管理系统:只要上传操作得当,所有的都可以相当于是中央服务器,成员代码共享,A写的代码B也有,一般把一个人当做主机,其他人通过该主机拼装代码 ...

  7. git版本控制工具的使用

    目录 git版本管理工具使用 一丶Git的下载与安装 1.windows下的git的下载与安装 2.linux下的git安装 二丶常用命令 三丶Git仓库 1.配置仓库信息 2.仓库的创建于管理 四丶 ...

  8. 几款Git GUI客户端工具

    工欲善其事,必先利其器. 作为一名开发人员,你不可能不知道git,无论你是开发自己的开源项目还是和团队一起进行大规模产品的开发,git都已经是源代码管理工具的首选.当然,那些hardcore deve ...

  9. Git 源代码管理工具

    Git 源代码管理工具 Git基本信息 Git :Git是一个“分布式”的版本控制工具 Git的作者是Linux之父 Linus Benedict Torvolds,当初开发Git仅仅是为了辅助Lin ...

随机推荐

  1. Elasticsearch java api 常用查询方法QueryBuilder构造举例

    转载:http://m.blog.csdn.net/u012546526/article/details/74184769 Elasticsearch java api 常用查询方法QueryBuil ...

  2. Java学习导航

    由于最近在系统的重新学习Java,为了便于日后复习,给个人博客中Java内容做一个目录. Java基础:Java虚拟机(JVM) Java基础:内存模型 Java基础:JVM垃圾回收算法 Java基础 ...

  3. spark SQL随笔

    sparkSQL 1.主要的数据结构 DataFreames 2.开始使用:SQLContext 创建步骤: Val  sc:sparkContext Val  sqlContext=new org. ...

  4. Flask入门之结构重组(瘦身)-第13讲笔记

    1. pip list Flask 0.10.1 Flask-Bootstrap 3.3.5.6 Flask-SQLAlchemy 2 Flask-Script 2.0.5 Flask-WTF 0.1 ...

  5. 第6次结对作业--郑锦伟&古维城

    第6次结对作业 在线英语学习平台客户端原型 1.结对成员 郑锦伟 2015034643034 古维城 2015034643033 2.原型设计工具实现-Photoshop 3.需求分析 使用NABCD ...

  6. 软件性能测试技术树(二)----Linux服务器性能

    全图: 测试目的: 测试范围&性能指标: 测试与生产环境服务器配置不同的处理方法: 实时CPU监控: 实时内存监控: 实时网络监控: 实时磁盘监控: 万能命令:  Linux下的进程追踪命令: ...

  7. JavaScript的数组知识案例之随机点名器

    本次分享JavaScript主要知识点涉及到for循环.if选择结构判断语句.数组的定义.定时器.清除定时器.日期对象的使用. 执行后效果图: 思路: 1.网页结构搭建: HTML 2.网页布局美化: ...

  8. 微信二维码支付-模式一(PC端,解决中文乱码问题)

    近期公司调完银联,调支付宝,调完支付宝调微信.说实话微信的帮助文档确实是烂,而且有没有技术支持,害的我头发都掉了一桌.不说废话了,看代码. 首先登陆微信的公众平台(微信的服务号不是订阅号),然后选择微 ...

  9. CentOS6.5系统挂载NTFS分区的硬盘

    下载rpmforge,下载对应的版本,就是对应CentOS版本,还有32位与64位也要对应上.rpmforge拥有4000多种CentOS的软件包,被CentOS社区认为是最安全也是最稳定的一个软件仓 ...

  10. windows远程桌面到linux

    centos:  http://lovesoo.org/xmanager-to-connect-to-the-remote-desktop-centos.html redhat:  http://ww ...