【GIT】Idea中的git命令使用-全网最新详细(包括现象含义)

原文网址:【GIT】Idea中的git命令使用-全网最新详细(包括现象含义)

文章目录

  • **命令1:查看当前所处分支:**
  • **命令2:拉取最新代码:**
  • **命令3:切换分支:**
  • **命令4:从当前某个分支创建新分支:**
  • **命令5:建新分支并立即切换到该分支**
  • **命令6:删除分支**
  • **命令7:分支推送远程**
  • **命令8:分支合并**
  • 如果在UI操作中遇见了问题,又改怎么解决呢 ?

梳理记录一下,在IDEA中常用的git命令,希望能帮到小伙伴们~

命令1:查看当前所处分支:

D:\workspace\IdeaProjects\guliMall>git branch

现象:会显示出来当前所有的分支,并且当前分支会有特殊显示,前面带*标识
在这里插入图片描述

命令2:拉取最新代码:

D:\workspace\IdeaProjects\guliMall>git pull

现象1:这是远程分支没有更新的内容,所有没拉取到更新
在这里插入图片描述
现象2:这是代表 从远程拉取到了一些代码更新,其中fast-forward的更新的内容,其中绿色加号的代表一共有55处新增,红色的代表删除了一共有7处修改,有新增有删除
在这里插入图片描述

命令3:切换分支:

git checkout dev

现象1:代表本地从当前分支切换到dev分支;下面的提示代表已经成功切换到,并且切换后的dev分支内容和远程分支内容一致;
在这里插入图片描述

witched to branch 'master'
Your branch is up to date with 'origin/master'.

提示解释:这条信息表示你已经成功切换到了名为 ‘master’ 的分支,并且这个分支与远程仓库(origin)中的 ‘master’
分支是同步的,即你的本地 ‘master’ 分支是最新的,没有落后于远程仓库的 ‘master’ 分支。

在Git中,分支是用来并行开发不同功能的工具。‘master’
分支通常被用作主分支,包含稳定且可发布的代码。当你需要开始一个新的功能开发或修复一个bug时,你可能会创建一个新的分支来工作,以避免影响主分支的稳定性。完成工作后,你可以将这个新分支合并回
‘master’ 分支,或者将 ‘master’ 分支的更新合并到你的分支中,以保持代码的同步。

这条信息告诉你,你现在正在 ‘master’
分支上工作,并且这个分支是最新的,没有需要拉取的更新。如果你想要开始新的工作,你可能需要创建一个新的分支;如果你只是想确保你的
‘master’ 分支是最新的,那么你已经完成了这一步。

现象2:切换的分支名称错误
在这里插入图片描述
**现象3:**比如当前是dev分支,我切换到test分支之后,提示
Switched to branch ‘feature-20240828-test’
Your branch is ahead of ‘origin/feature-20240828-test’ by 4 commits.
(use “git push” to publish your local commits)
这条信息表示你已经成功切换到了名为 feature-20240828-test 的分支,并且这个分支在你的本地有4个提交是领先于远程分支 origin/feature-20240828-test 的。这意味着你在本地对这个分支做了一些修改(比如增加了新功能、修复了bug等),并且这些修改还没有被推送到远程仓库中。
在这里插入图片描述
针对于现象3中的情况,
如果你想要将这些修改分享给其他人,或者确保你的修改在远程仓库中得到保存,你需要执行 git push 命令。这个命令会将你本地的修改推送到远程仓库的 feature-20240828-test 分支上。

git push origin feature-20240828-test

执行 git push 时,你可能会遇到几种情况:

  • 成功推送:如果远程仓库的 feature-20240828-test 分支没有其他人的提交,或者即使有,Git 能够自动合并这些提交,那么你的推送将会成功。
  • 合并冲突:如果远程仓库的 feature-20240828-test 分支在你推送之前已经有了新的提交,并且这些提交与你本地的提交有冲突,Git 会阻止你推送,并要求你先解决这些冲突。这通常涉及到拉取远程仓库的最新更改(git pull 或 git fetch 后合并),解决任何冲突,然后再次尝试推送。
  • 权限问题:如果你没有足够的权限向远程仓库推送更改,Git 会显示一个错误消息。在这种情况下,你需要联系仓库的管理员来获取必要的权限。
    注意:在git push命令时 ,明确指定远程仓库和分支是一个好习惯,特别是当你处理多个远程仓库或多个分支时;

命令4:从当前某个分支创建新分支:

D:\workspace\IdeaProjects\guliMall>git branch dev

现象:控制台无提示
在这里插入图片描述
可以看到idea右下角已经出现了刚新建的dev分支;
在这里插入图片描述

命令5:建新分支并立即切换到该分支

命令: git checkout -b (branchname)

我们也可以使用 git checkout -b (branchname) 命令来创建新分支并立即切换到该分支下,从而在该分支中操作
在这里插入图片描述
在这里插入图片描述

命令6:删除分支

删除分支命令: git branch -d (branchname)

现象:是因为你当前就在dev分支,所以无法删除当前分支,如果你想删除dev分支,你需要先跳转到别的分支,然后再去删除这个分支之外的其他分支;
在这里插入图片描述
如下图所示,删除dev_test分支
在idea又下角可以看到dev_test分支消失了
在这里插入图片描述

命令7:分支推送远程

D:\workspace\IdeaProjects\guliMall>git push
Enumerating objects: 21, done.
Counting objects: 100% (21/21), done.
Delta compression using up to 16 threads
Compressing objects: 100% (8/8), done.
Writing objects: 100% (11/11), 785 bytes | 785.00 KiB/s, done.
Total 11 (delta 4), reused 0 (delta 0)
remote: Powered by GITEE.COM [1.1.5]
remote: Set trace flag b64264bf
To https://gitee.com/zhai_jiahao/guli.gite570078..b85a6f8  dev -> dev

解释:git push origin feature-20240828-test 命令已经成功执行,并且你的 feature-20240828-test 分支的更改已经被推送到了远程仓库
输出中的关键信息如下:

  • Total 0 (delta 0), reused 0 (delta 0):这表示在推送过程中,Git 没有传输任何新的数据对象(因为可能你之前已经推送过这些对象,或者这次推送没有新增任何文件)。delta
    指的是压缩后的差异数据,这里也是0,表示没有差异数据需要传输。
  • remote: Powered by GITEE.COM [1.1.5] 和 remote: Set trace flag 8040dbad:这些是 Gitee.com 服务器返回的信息,主要是表明服务器是由 Gitee.com
    提供支持的,并且设置了一个跟踪标志(可能是用于调试或日志记录)。
  • To https://gitee.com/zhai_jiahao/gulimall.git:这是你的远程仓库的 URL,表示你的推送目标是这个地址。
  • 556aaab…b85a6f8 feature-20240828-test -> feature-20240828-test:这表示从远程仓库的 feature-20240828-test 分支的 556aaab…
    b85a6f8 提交更新到了远程分支。这意味着远程仓库的 feature-20240828-test 分支现在与你的本地分支同步了。

注意:我这里没加上具体要推送到远程哪个仓库上,但是更好的习惯是加上远程仓库名称:像是这样 git push origin feature-20240828-test

命令8:分支合并

**目的:**我现在想要在dev开发分支开发的内容合并到test分支,因此 我在dev分支修改代码,增加了一行 ,来模拟自己在dev新增的代码,这个代码要合并到test分支上;
在这里插入图片描述
操作:
步骤1:在dev分支修改代码,然后commit到dev的本地仓库,然后push到远程,(其实这里只是需要commit到dev的本地仓库即可,因为本地执行merge命令是将本地仓库中dev分支开发的内容去合并到其他分支,所以这里严格来说只需要commit,无需push,但是一般的习惯,我们需要保证本地仓库dev分支代码和远程dev代码一致,所以一般commit之后,也会push到远程的),
步骤2:然后在切换到想要合并的目标分支 ,先切换到test分支后
步骤3:再使用git merge dev合并到test分支中,,再在控制台使用 下面命令,就可以将刚刚dev分支中修改的内容,合并到目前的test分支了;
步骤4:将合并到test中的内容推送到test的远程分支

D:\workspace\IdeaProjects\guliMall>git merge dev

**现象:**执行命令完毕,会提示有几行改变,下面图中是2行新增
1 file changed, 2 insertions(+)
在这里插入图片描述

好了,常用命令这就梳理的差不多了,当然也可以通过IDEA的ui页面直接操作也是可以的,原理步骤顺序都是类似,的,理解了上面的步骤,通过UI操作也恒轻松了~

如果在UI操作中遇见了问题,又改怎么解决呢 ?

可以看博客:【GIT】idea中实用的git操作,撤回commit,撤回push、暂存区使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/52830.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MAC 、 IP ARP

MAC地址 基本概念 MAC地址是以太网的MAC子层所使用的地址——数据链路层 使用点对点信道的数据链路层不需要使用地址 使用广播信道的数据链路层必须使用地址来区分各主机 实现同一个广播信道上的不同主机之间的通信 每个主机都必须要有一个唯一的表示——一个数据链路层地址…

基于Java+SpringBoot+Vue的学生评奖评优管理系统的设计与实现

基于JavaSpringBootVue的学生评奖评优管理系统的设计与实现 前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅 某信 gzh 搜索【智…

2024 年的 Web3 游戏:演变、趋势和市场动态

Web3 游戏行业在经历了多年的快速发展和变革之后,正在2024年迎来全新的阶段。这个行业从最初的边玩边赚(Play-to-Earn, P2E)模式出发,如今正在向更为平衡的“边玩边赚”模式转型。这种转型不仅解决了早期 P2E 模式下存在的可持续性…

EmguCV学习笔记 VB.Net 9.1 VideoCapture类

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 EmguCV是一个基于OpenCV的开源免费的跨平台计算机视觉库,它向C#和VB.NET开发者提供了OpenCV库的大部分功能。 教程VB.net版本请访问…

编译LineageOS模拟器镜像,导出到AndroidStudio

版权归作者所有,如有转发,请注明文章出处:https://cyrus-studio.github.io/blog/ 源码下载 LineageOS官网:https://lineageos.org/ LineageOS源码 github 地址:https://github.com/LineageOS/android LineageOS源码国…

编写一个每次随机生成 10个 0(包括) 到 100 之间的随机正整数。

编写一个每次随机生成 10个 0(包括) 到 100 之间的随机正整数。 package cn.itcast.example;import java.util.Iterator; import java.util.Random; public class example {public static void main (String[] arge) {System.out.println("Math.ra…

QNN:基于QNN+example重构之后的yolov8det部署

QNN是高通发布的神经网络推理引擎,是SNPE的升级版,其主要功能是: 完成从Pytorch/TensorFlow/Keras/Onnx等神经网络框架到高通计算平台的模型转换; 完成模型的低比特量化(int8),使其能够运行在高…

超长二进制利用Integer转换

1.Integer缺点 目前测试Integer只能一次性转4*7位二进制数,也就是7位16进制,故进行改进 2.改进 操作:每四位二进制一转换,以免到上限报错 注解格式:序号(代码顺序)解释 public class Main {…

《PCI Express体系结构导读》随记 —— 第II篇 第7章 PCIe总线的数据链路层与物理层(2)

接前一篇文章:《PCI Express体系结构导读》随记 —— 第II篇 第7章 PCIe总线的数据链路层与物理层(1) 7.1 数据链路层的组成结构 数据链路层使用ACK/NAK协议发送和接收TLP,由发送部件和接收部件组成。其中,发送部件由…

Springboot里集成Mybatis-plus、ClickHouse

🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 Springboot里集成Mybati…

基于Java+SpringBoot+Vue的汽车销售网站

基于JavaSpringBootVue的汽车销售网站 前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅 某信 gzh 搜索【智能编程小助手】获取项…

【大模型】llama系列模型基础

前言:llama基于transformer架构,与GPT相似,只用了transformer的解码器部分。本文主要是关于llama,llama2和llama3的结构解读。 目录 1. llama1.1 整体结构1.2 RoPE1.3 SwiGLU 激活函数 2. llama22.2 GQA架构2.3 RLHF 3. llama3参考…

Springboot中使用Elasticsearch(部署+使用+讲解 最完整)

目录 引言 一、docker中安装Elasticsearch 1、创建es专有的网络 2、开放端口 3、在es-net网络上安装es和kibana 4、可能出现的问题 5、测试 6、安装IK分词器 7、测试IK分词器 二、结合业务实战 1、准备依赖 2、配置yml 3、读取yml配置 4、准备es配置类 5、编写测…

Leetcode面试经典150题-136.只出现一次的数字

解法都在代码里,不懂就留言或者私信 这个题不知道为啥会考,过于简单了,我解题写注释用了两分钟不到,5行代码。。。 class Solution {public int singleNumber(int[] nums) {/**这个题目确实时间的题,根据位运算法则我…

斗破C++编程入门系列之十九:C++程序设计必知:多文件结构和编译预处理命令(九星斗者)

斗破C目录: 斗破C编程入门系列之前言(斗之气三段) 斗破C编程入门系列之二:Qt的使用介绍(斗之气三段) 斗破C编程入门系列之三:数据结构(斗之气三段) 斗破C编程入门系列之…

ctfshow之web55~web57(无字母的rce)

目录 web55 思路一: 思路二: web56 web57 本系列主要针对无字母rce或无字母无数字rce 声明:本章内容是引荐几位师傅的博客,然后根据自己的理解编写而成。 web55 if(isset($_GET[c])){$c$_GET[c];if(!preg_match("/\…

乐凡三防:工业界的硬核产品——重新定义三防平板的极限

在工业4.0的浪潮中,科技与制造业的深度融合催生了一系列高性能、高耐用的智能产品。乐凡三防平板,作为工业界的新宠,正以其卓越的防护性能和强大的功能,重新定义了三防平板的极限,成为硬核科技的代表。 硬核防护&#…

GD32F4xx---RTC初始化设置及闹钟方式实现秒中断讲解

GD32F4xx—RTC初始化设置及闹钟方式实现秒中断讲解 1、下载链接:源码工程 一、概述 GD32F4x的RTC例程网上资源较少,详细阅读用户手册后做出如下配置。RTC模块提供了一个包含日期(年/月/日)和时间(时/分/秒/亚秒)的日历功能。除亚秒用二进制码显示外,时间和日期都以BC…

大连网站建设手机网页页面设计

在现代社会,随着智能手机的普及,越来越多的用户选择通过手机访问网站,这使得移动端网页设计的重要性日益凸显。大连作为一个经济和文化中心,网站建设行业也在不断发展。针对大连的网站建设,手机网页页面设计需要特别注…

内存管理篇-16二级页表工作原理

1.修正上节课的转换图 上节课的页表的一级页表其实并不完全正确,一般虚拟页帧和物理页帧号不会都占用实际字段,这样毕竟很浪费内存。 2.再分析一下页表的开销情况: 一级页表:以4KB物理页为映射单位,每个进程4MB的虚…