关联本地Git客户端

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

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

IDEA控制Git操作_git

 

  

创建本地仓库

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

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

IDEA控制Git操作_ide_02

 

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

 

  

克隆远程仓库

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

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

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

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

IDEA控制Git操作_右键_03

 

  

提交代码

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

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

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

IDEA控制Git操作_InteIlij IDEA_04

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

IDEA控制Git操作_git_05

 

  

分支管理

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

IDEA控制Git操作_InteIlij IDEA_06

  

主菜单功能

IDEA控制Git操作_git_07

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

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

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

Remote Branches : 远程分支列表。

 

  

本地分支菜单

IDEA控制Git操作_ide_08

Checkout : 检出这个分支。

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

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

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

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

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

Rname:修改所选分支名称

Delete :删除所选分支

 

  

远程分支菜单

IDEA控制Git操作_ide_09

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

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

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

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

Delete :删除所选分支

 

  

本地分支推送到远程仓库

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

IDEA控制Git操作_InteIlij IDEA_10

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

IDEA控制Git操作_ide_11

 

  

标签管理

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

IDEA控制Git操作_ide_12

 

  

本地标签推送到远程仓库

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

IDEA控制Git操作_InteIlij IDEA_10

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

IDEA控制Git操作_ide_14

 

  

代码拉取、推送

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

IDEA控制Git操作_推送_15

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

IDEA控制Git操作_InteIlij IDEA_10

 

  

变基操作

  

普通变基

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

IDEA控制Git操作_ide_17

  

合并提交(交互式变基)

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

变基前log

IDEA控制Git操作_InteIlij IDEA_18

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

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

IDEA控制Git操作_InteIlij IDEA_19

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

IDEA控制Git操作_ide_20

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

IDEA控制Git操作_右键_21

变基后日志

IDEA控制Git操作_推送_22

 

  

查看提交日志

log页签

IDEA控制Git操作_推送_23

 

  

查看控制台

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

IDEA控制Git操作_右键_24

 

  

储藏工作区

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

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

IDEA控制Git操作_推送_25

填写储藏名称

IDEA控制Git操作_ide_26

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

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

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

IDEA控制Git操作_git_27

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

IDEA控制Git操作_右键_28

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

 

  

提交回退

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

回退前log

IDEA控制Git操作_git_29

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

IDEA控制Git操作_InteIlij IDEA_30

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

IDEA控制Git操作_InteIlij IDEA_31

执行后日志

IDEA控制Git操作_git_32

 

  

管理远程仓库地址

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

IDEA控制Git操作_git_33

IDEA控制Git操作_右键_34

 

  

提交应用(挑樱桃)

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

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

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

IDEA控制Git操作_右键_35