IDEA Git操作(一)分支、分支合并、rebase

说明

本教程按照 git在线练习 顺序进行,将在线测试的命令操作落地到 IDEA,使用开发工具来实现所有在线练习中的操作。

你可以结合 git在线练习 来学习本教程,先在线学习git命令,再在 IDEA 中实现相同操作。

新建测试工程

新建 Empty Project:git-test1

a
a

新建 Java Module:demo1

a

a

新建一个类

package test;

public class Test1 {
    public static void main(String[] args) {
        System.out.println(1);
    }
}

创建本地仓库

将工程目录 git-test1 设置为本地仓库目录

a
a

初始提交

a
a

在 git 工具窗口中查看提交历史

a

提交操作

第二次提交

添加一句打印

package test;

public class Test1 {
    public static void main(String[] args) {
        System.out.println(1);
        System.out.println(2);
    }
}


按 ctrl+k 执行提交操作
a

查看提交历史,可以看到有两次提交

a

上面的提交历史对照 learngitbranching.js.org 的结构图
a

第三次和第四次提交

执行以下两步操作:

  • 添加打印3的语句并提交
  • 添加打印4的语句并提交

a

上面的提交历史对照 learngitbranching.js.org 的结构图

a

重置到第二次提交

为了继续做下一步练习,先对提交历史进行重置操作

a
a

重置后,只有前两次提交

a

分支合并 - merge

准备提交结构

新建一个 bugFix 分支
a

如果勾选 Checkout branch 选项,新建分支后会自动切换到新分支

a

现在,master分支、bugFix分支和HEAD,都合并在最后一次提交位置

a

对bugFix分支做一次提交

上一步已经切换到了 bugFix 分支,现在在这个分支上添加一句打印并提交。提交后 bugFix 分支前进了,而 master 分支仍停留在上一步
a

上面的提交历史对照 learngitbranching.js.org 的结构图
a

切换到 master 分支

在 IDEA 窗口右下角,点击bugFix分支,在菜单中切换到 master 分支
a

现在切换到了 master,HEAD 表示当前所在的提交位置
a

上面的提交历史对照 learngitbranching.js.org 的结构图
星号表示 HEAD
a

对 master 分支做一次提交

前面添加一句打印0并提交,现在,master 也前进了一步
a

上面的提交历史对照 learngitbranching.js.org 的结构图
a

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

我们现在在 master 分支,点击右下角 master 分支,在菜单中找到 bugFix 分支向 master 进行合并

a

现在,bugFix 的代码合并到了 master,并在 master 分支上生成了一个新的提交
a

上面的提交历史对照 learngitbranching.js.org 的结构图

a

试试再将master分支向bugFix分支合并会发生什么

切换到bugFix分支a

选择 master 向 bugFix 分支进行合并a

只是简单地把bugFix移动到了master
a

上面的提交历史对照 learngitbranching.js.org 的结构图a

重置到第二次提交

切换到master分支
a

重置到第二次提交
a

a

删除bugFix分支
a

重置后,只有前两次提交
a

上面的提交历史对照 learngitbranching.js.org 的结构图
a

使用 rebase 合并分支

准备提交结构

创建bugFix分支,然后对它提交一次
a

a

在 bugFix 分支,添加打印3并做一次提交。bugFix 前进了一步
a

切换到 master 然后对master执行一次提交
a

上面添加打印0并提交一次,master 前进了一步

a

上面的提交历史对照 learngitbranching.js.org 的结构图

a

将 bugFix 移动到 master 分支

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

切换到bugFix分支
a

在 bugFix 分支下,右键点击 master 分支,在菜单中选择 rebase 操作

a

rebase 后,bufFix 移动到 master 分支上,形成一条连续提交记录,且代码进行了合并
a

上面的提交历史对照 learngitbranching.js.org 的结构图

a

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青木编码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值