IDEA使用git--痛定思痛

2023-11-06 01:50
文章标签 使用 idea git 痛定思痛

本文主要是介绍IDEA使用git--痛定思痛,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

记一次失误,git提交信息混乱,导致他人项目报错,延迟上线。
一方面给他人时间操作极大损失,另一方面对自己内心造成一定影响。因为对提交信息的混乱导致自己不能明确服务器上的数据,内心的颤抖反衬到身体上手有些不自觉的颤抖。痛定思痛,找出痛点在此记录。

1.本地创建分支

  1. 创建完分支就进入当前创建的分支
    在这里插入图片描述

  2. 此时拉取数据会报错(提示没有当前分支或分支不存在)
    在这里插入图片描述

  3. 查看分支(这里是查看历史提交记录的),这里有本地和远程
    在这里插入图片描述

  4. 选择分支
    在这里插入图片描述

  5. 把刚GitTest分支修改的内容合并到主支
    先切换到主支上
    在这里插入图片描述

** 发现刚添加的文件也还在这里存在着
在这里插入图片描述
在主支上做些修改(这里好奇的尝试下,在把分支合并到主支之前修改主支会怎么,如果不需要直接下一步即可)
在这里插入图片描述

合并分支GitTest(2这句英文:合并到当前)
在这里插入图片描述
会弹出提示:已经把数据给到主支,点击蓝色下滑可删除这个主支
在这里插入图片描述
点击后我们来看本地这里就剩一个了
在这里插入图片描述

2.本地分支(二)

创建本地分支
在这里插入图片描述

修改文件(注意:这里上文两个并未提交)
在这里插入图片描述
提交分支,
发现1会提示没有跟踪分支,(是否会创建远程分支?)
发现2提交和push在一起(IDEA2020是分开的,目前版本是2019何在一起)
在这里插入图片描述
提交以后经过对比,
发现只是在本地创建一个分支提交给本地仓库,并未向远程创建并提交
在这里插入图片描述
当然也包括本地的master也没有
在这里插入图片描述
切换会本地主主支合并分支
发现:还是一条线
在这里插入图片描述

怎么做到这个样子呢?(图片来源与网络)

在这里插入图片描述

  1. 创建一个分支,添加点改变
    在这里插入图片描述

  2. 提交

  3. 切回主支,修改些些东西,提交
    在这里插入图片描述

  4. 哈哈,两条线了。

  5. 忽然意识到,上文中**标记的发现是因为没有提交导致没有保存进分支,这次提交后切换分支就不会出现在切换后的分支显示了

  6. 再次试试,验证下想法
    添加个文件
    在这里插入图片描述
    切换到主支,文件跟着过来了
    在这里插入图片描述
    再切换回分支,文件依然跟着过来了
    在这里插入图片描述
    在分支里提交
    在这里插入图片描述
    提交后历史图变成这个样子
    在这里插入图片描述
    切换回主支,文件并没有跟着过来,验证成功
    在这里插入图片描述
    修改下主支内容,提交到主支,哈哈哈,画成想要的样子了。
    在这里插入图片描述
    此时我们把分支合并到主支上(这是All的效果)
    在这里插入图片描述
    展示下分支图:
    在这里插入图片描述
    展示下主支图:
    在这里插入图片描述

3.远程分支

向远程提交已经要慎之又慎,这会真正的影响到他人,请先确认你要提交的文件
切换到分支,修改代码,
方式1:点击提交(正常点commit就是提交到本地仓库)
这样是分成了2步,一步是提交到本地仓库,第二步是push到远程仓库
在这里插入图片描述
方式2:右键->Git->Repository->Push
在这里插入图片描述
选择当前Tag或是所有
在这里插入图片描述

标签

先试下当前CurrentBranch,这里会自动出现new(因为远程仓库没有)

在这里插入图片描述

当然这里Push有个向下的箭头:Force Push
解释:如果远程主机的版本比本地版本更新,推送时Git会报错,要求先在本地做git pull合并差异,然后再推送到远程主机。这时,如果你一定要推送,可以使用–force选项。

完成推送
在这里插入图片描述
此时只一个标签
在这里插入图片描述

再试下当前All

前提在分支下创建了一个文件并提交本地仓库
在主支上创建一个文件并提交本地仓库
在这里插入图片描述
看下结果:推送上去三个标签
在这里插入图片描述

尝试完看下什么是标签

tag是git版本库的一个标记,指向某个commit的指针。
tag主要用于发布版本的管理,一个版本发布之后,我们可以为git打上 v.1.0.1 v.1.0.2 …这样的标签。
tag感觉跟branch有点相似,但是本质上和分工上是不同的:
tag 对应某次commit, 是一个点,是不可移动的。

Git中tag标签的使用

合并远程仓库

  1. 远程分支 GitNetworkTest 本地分支devloper
  2. 在本地新建一个与远程的分支GitNetworkTest 相同(被合并的版本)的分支
  3. 将远程分支代码pull到本地,然后切回本地自己的分支(或master分支)
  4. 合并分支dev-by-wbw 与 dev-by-wgg
  5. 同步本地分支dev-by-wgg到远程

合并后的效果
在这里插入图片描述

提交规范下

<新功能|bug修复|文档改动|格式化|重构|测试代码>: (影响范围) <主题> 
# 解释为什么要做这些改动
issue #?

这篇关于IDEA使用git--痛定思痛的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/353781

相关文章

Python 函数详解:从基础语法到高级使用技巧

《Python函数详解:从基础语法到高级使用技巧》本文基于实例代码,全面讲解Python函数的定义、参数传递、变量作用域及类型标注等知识点,帮助初学者快速掌握函数的使用技巧,感兴趣的朋友跟随小编一起... 目录一、函数的基本概念与作用二、函数的定义与调用1. 无参函数2. 带参函数3. 带返回值的函数4.

MySQL中DATE_FORMAT时间函数的使用小结

《MySQL中DATE_FORMAT时间函数的使用小结》本文主要介绍了MySQL中DATE_FORMAT时间函数的使用小结,用于格式化日期/时间字段,可提取年月、统计月份数据、精确到天,对大家的学习或... 目录前言DATE_FORMAT时间函数总结前言mysql可以使用DATE_FORMAT获取日期字段

Go语言使用sync.Mutex实现资源加锁

《Go语言使用sync.Mutex实现资源加锁》数据共享是一把双刃剑,Go语言为我们提供了sync.Mutex,一种最基础也是最常用的加锁方式,用于保证在任意时刻只有一个goroutine能访问共享... 目录一、什么是 Mutex二、为什么需要加锁三、实战案例:并发安全的计数器1. 未加锁示例(存在竞态)

idea Maven Springboot多模块项目打包时90%的问题及解决方案

《ideaMavenSpringboot多模块项目打包时90%的问题及解决方案》:本文主要介绍ideaMavenSpringboot多模块项目打包时90%的问题及解决方案,具有很好的参考价值,... 目录1. 前言2. 问题3. 解决办法4. jar 包冲突总结1. 前言之所以写这篇文章是因为在使用Mav

setsid 命令工作原理和使用案例介绍

《setsid命令工作原理和使用案例介绍》setsid命令在Linux中创建独立会话,使进程脱离终端运行,适用于守护进程和后台任务,通过重定向输出和确保权限,可有效管理长时间运行的进程,本文给大家介... 目录setsid 命令介绍和使用案例基本介绍基本语法主要特点命令参数使用案例1. 在后台运行命令2.

使用Redis快速实现共享Session登录的详细步骤

《使用Redis快速实现共享Session登录的详细步骤》在Web开发中,Session通常用于存储用户的会话信息,允许用户在多个页面之间保持登录状态,Redis是一个开源的高性能键值数据库,广泛用于... 目录前言实现原理:步骤:使用Redis实现共享Session登录1. 引入Redis依赖2. 配置R

使用Python的requests库调用API接口的详细步骤

《使用Python的requests库调用API接口的详细步骤》使用Python的requests库调用API接口是开发中最常用的方式之一,它简化了HTTP请求的处理流程,以下是详细步骤和实战示例,涵... 目录一、准备工作:安装 requests 库二、基本调用流程(以 RESTful API 为例)1.

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

Python yield与yield from的简单使用方式

《Pythonyield与yieldfrom的简单使用方式》生成器通过yield定义,可在处理I/O时暂停执行并返回部分结果,待其他任务完成后继续,yieldfrom用于将一个生成器的值传递给另一... 目录python yield与yield from的使用代码结构总结Python yield与yield

Go语言使用select监听多个channel的示例详解

《Go语言使用select监听多个channel的示例详解》本文将聚焦Go并发中的一个强力工具,select,这篇文章将通过实际案例学习如何优雅地监听多个Channel,实现多任务处理、超时控制和非阻... 目录一、前言:为什么要使用select二、实战目标三、案例代码:监听两个任务结果和超时四、运行示例五