码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • IDEA Git操作(一)分支、分支合并、rebase


    文章目录

    • 说明
    • 新建测试工程
      • 新建 Empty Project:git-test1
      • 新建 Java Module:demo1
      • 新建一个类
    • 创建本地仓库
      • 将工程目录 git-test1 设置为本地仓库目录
      • 初始提交
    • 提交操作
      • 第二次提交
      • 第三次和第四次提交
    • 重置到第二次提交
    • 分支合并 - merge
      • 准备提交结构
      • 合并分支 - 将bufFix分支合并到master
      • 试试再将master分支向bugFix分支合并会发生什么
    • 重置到第二次提交
    • 使用 rebase 合并分支
      • 准备提交结构
      • 将 bugFix 移动到 master 分支

    说明

    本教程按照 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);
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    创建本地仓库

    将工程目录 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);
        }
    }
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    按 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

  • 相关阅读:
    【git】git ignore如何添加core/config.py忽略
    SSM学生信息管理系统(含源码+论文+答辩PPT等)
    MindSpore:【语音识别】DFCNN网络训练loss不收敛
    GitHub还能这样玩,这次我真是开了眼了
    前端基础学习——带你夯实JavaScript基础
    为什么基于树的模型在表格数据上仍然优于深度学习
    SPARKSQL3.0-各阶段自定义扩展规则源码剖析
    环境数据监测在环保物联网有什么价值?
    Verilog仿真文件中的阻塞和非阻塞赋值问题探讨
    Java Spring后处理器
  • 原文地址:https://blog.csdn.net/qq_54781283/article/details/125380810
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号