IDEA GET操作 分支、分支合并、rebase

GET简述

git是用于Linux内核开发的版本控制工具。与CVS、Subversion一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。git的速度很快,这对于诸如Linux内核这样的大项目来说自然很重要。git最为出色的是它的合并追踪(merge tracing)能力。
git是用C语言开发的,以追求最高的性能。git自动完成垃圾回收,也可以用命令git gc --prune直接调用。Git有两种数据结构:可变的索引(index或stage或cache)用于缓冲工作目录信息与下一次提交的版本信息;不变的、仅追加的对象数据库。

关联本地Git客户端

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

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

创建本地仓库

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

然后使用VCS --> Import into Version Control --> Create Git Repository…在项目上创建Git仓库
160724_2AA1_3452433.png
创建成功后会在项目文件夹内出现.git 目录

克隆远程仓库

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

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

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

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

新建测试工程

新建 Empty Project:git-test1

在这里插入图片描述
在这里插入图片描述

新建 Java Module:demo1

在这里插入图片描述

在这里插入图片描述

新建一个类

在这里插入图片描述

创建本地仓库

将工程目录 git-test1 设置为本地仓库目录
在这里插入图片描述
在这里插入图片描述

初始提交

在这里插入图片描述
在这里插入图片描述
在 git 工具窗口中查看提交历史
在这里插入图片描述
提交操作

分支合并 - merge

准备提交结构

新建一个 bugFix 分支
在这里插入图片描述
如果勾选 Checkout branch 选项,新建分支后会自动切换到新分支
在这里插入图片描述
现在,master分支、bugFix分支和HEAD,都合并在最后一次提交位置
在这里插入图片描述
对bugFix分支做一次提交

上一步已经切换到了 bugFix 分支,现在在这个分支上添加一句打印并提交。提交后 bugFix 分支前进了,而 master 分支仍停留在上一步
在这里插入图片描述
上面的提交历史对照 learngitbranching.js.org 的结构图
在这里插入图片描述
切换到 master 分支

在 IDEA 窗口右下角,点击bugFix分支,在菜单中切换到 master 分支
在这里插入图片描述
现在切换到了 master,HEAD 表示当前所在的提交位置
在这里插入图片描述
上面的提交历史对照 learngitbranching.js.org 的结构图
星号表示 HEAD
在这里插入图片描述
对 master 分支做一次提交

在前面添加一句打印0并提交,现在,master 也前进了一步
在这里插入图片描述
上面的提交历史对照 learngitbranching.js.org 的结构图
在这里插入图片描述

合并分支 - 将bufFix分支合并到master

我们现在在 master 分支,点击右下角 master 分支,在菜单中找到 bugFix 分支向 master 进行合并
在这里插入图片描述
现在,bugFix 的代码合并到了 master,并在 master 分支上生成了一个新的提交
在这里插入图片描述
上面的提交历史对照 learngitbranching.js.org 的结构图
在这里插入图片描述
试试再将master分支向bugFix分支合并会发生什么
切换到bugFix分支
在这里插入图片描述
选择 master 向 bugFix 分支进行合并
在这里插入图片描述

只是简单地把bugFix移动到了master
在这里插入图片描述
上面的提交历史对照 learngitbranching.js.org 的结构图
在这里插入图片描述

使用 rebase 合并分支

准备提交结构

创建bugFix分支,然后对它提交一次
在这里插入图片描述
在这里插入图片描述
在 bugFix 分支,添加打印3并做一次提交。bugFix 前进了一步
在这里插入图片描述
切换到 master 然后对master执行一次提交
在这里插入图片描述
在上面添加打印0并提交一次,master 前进了一步
在这里插入图片描述
上面的提交历史对照 learngitbranching.js.org 的结构图
在这里插入图片描述

将 bugFix 移动到 master 分支

用 rebase 操作,可以将 bugFix 的提交移动到 master 分支,形成一条连续的提交记录。

切换到bugFix分支
在这里插入图片描述
在 bugFix 分支下,右键点击 master 分支,在菜单中选择 rebase 操作
在这里插入图片描述
rebase 后,bufFix 移动到 master 分支上,形成一条连续提交记录,且代码进行了合并
在这里插入图片描述
上面的提交历史对照 learngitbranching.js.org 的结构图
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值