鸡肋的Git

1.前言

对于大多数开发人员来说,我们大多数在学习或者工作过程中只关注核心部分,比如说学习Java,可能对于大多数人而言一开始都是从Java基础学起,然后408,Spring,中间件等,当你发现很多高深的技术已经掌握,想要大展拳脚的时候,却倒在了第一步---工具的使用。上面所述是对于还没工作的同学的描述,我自己也是有亲身经历,第一次在阿里实习的时候,带我的师兄叫我拉个分支,之前我是接触过Git,但是用起来磕磕碰碰,导致后续push,pull,merge代码的时候频频出错,因此我认为作为新人第一步就是需要会折腾,这里的折腾是对开发工具,环境的折腾,这样不仅提高开发效率,而且对于后续陌生的环境也会得心应手。

2.Git的介绍

GIt是一个开源的分布式版本控制系统,可以快速高效的处理从小到大的各种项目。

常见的版本控制工具有:Subversion,CVS,Perforce和ClearCase。但是Git由于采用分布式的方式操作,相比较其他的版本控制工具性能较优。

3.Git工作机制

GIt分为三个区域:工作区,暂存区和本地库

工作区:简单地说就是我们程序员写代码的区域,比如idea里,当我们对代码进行了修改之后需要使用git add命令添加到暂存区。

暂存区:暂存区相当于临时存储的区域,在这个区域的部分为红的,然后需要使用git commit命令提交到本地库

本地库:本地库存储的是历史版本,这部分区域是绿色的,最后可以通过push,pull和merge等操作与远程仓库交互。

4.Git常用命令

git config --global user.name 用户名     设置用户名
git config --global user.email 邮箱      设置用户邮箱
git init                                 初始化本地库
git status                               查询本地库状态
git add 文件名                            添加文件到暂存库
git commit -m "first commit" 文件名       提交文件到本地库
git reflog                                查看历史版本
git reset --hard 版本号                    版本穿梭(回退)

5.分支操作

基本的分支操作命令

git branch 分支名          创建分支
git branch -v              查看分支
git checkout 分支名        切换分支
git merge 分支名           合并分支

在Git Bash上进行的测试:

这里有一个易出现的问题---合并冲突。一般而言,我的理解就是有一个master和hot-fix分支,在master上进行了修改并执行git add和git commit命令然后切换到hot-fix分支进行修改内容然后执行add和commit操作,这时候进行merge就会产生冲突,简单的说就是master上进行了修改一般hot-fix没有在merge时

解决冲突的方法:把master里添加的内容保存,把hot-fix里的内容也保存,并把<<<和>>>以及===去掉

6.IDEA集成Git

6.1 idea创建一个Maven工程,然后选择VCS里的Create Git Repository创建一个Git项目

6.2 创建之后文件会变红,和之前说的Git工作机制联系起来,这个时候红色文件在工作区需要add的,然后选择add

6.3 add之后发现文件变绿色,这时候在我们的暂存区,需要commit

6.4 commit之后就添加到了本地库,此时发现文件颜色回复正常

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

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

相关文章

开源的Java报表库JasperReports介绍

JasperReports 是一个流行的开源 Java 报表库&#xff0c;它允许开发人员创建丰富的、基于 Java 的报表&#xff0c;这些报表可以与多种数据源交互&#xff0c;并且可以很容易地集成到 Java 应用程序中。JasperReports 提供了丰富的功能&#xff0c;包括数据可视化、图表、子报…

Node.js与Webpack笔记(二)

上一篇&#xff1a;Node.js与Webpack笔记&#xff08;一&#xff09;-CSDN博客 Webpack模块打包工具 1.Webpack简介以及体验 webpack是一个静态模块打包工具&#xff0c;从入口构建依赖图&#xff0c;打包有关的模块&#xff0c;最后用于展示你的内容 静态模块&#xff1a;编写…

vue结合vue-electron创建应用程序

这里写自定义目录标题 安装electron第一种方式&#xff1a;vue init electron-vue第二种方式&#xff1a;vue add electron-builder 启动electron调试功能&#xff1a;background操作和使用1、覆盖窗口的菜单上下文、右键菜单2、监听关闭事件、阻止默认行为3、创建悬浮窗口4、窗…

css 背景图片居中显示

background 简写 background: #ffffff url(https://profile-avatar.csdnimg.cn/b9abdd57de464582860bf8ade52373b6_misnice.jpg) center center / 100% no-repeat;效果如图&#xff1a;

关于手机是否支持h264的问题的解决方案

目录 现象 原理 修改内容 现象 开始以为是手机不支持h264的编码 。机器人chatgpt一通乱扯。 后来检查了下手机&#xff0c;明显是有h264嘛。 终于搞定&#xff0c;不枉凌晨三点起来思考 原理 WebRTC 默认使用的视频编码器是VP8和VP9&#xff0c;WebRTC内置了这两种编码器…

Centos 安装 redis【最简单】

Centos7 使⽤ yum 安装 ⾸先安装 scl 源, 再安装 redis &#xff08;因为 Centos7 yum 提供的软件包只有 3.0 版本的 Redis &#xff0c;太老了&#xff0c;我们要安装 redis 5 系列的&#xff09; yum install centos-release-scl-rh yum install rh-redis5-redis 创建符号…

15-单片机烧录FreeTOS操作系统后,程序的执行流程

任务创建 1、在系统上电后&#xff0c;第一个执行的是启动文件由汇编语言编写的复位函数 通过复位函数来初始化系统的时钟&#xff0c;然后再执行__main,初始化系统的堆和栈&#xff0c;然后跳转到main函数 2、在main函数中可以直接进行任务创建操作 因为在FreeRTOS中会自动…

GSEA -- 学习记录

文章目录 brief统计学原理部分其他注意事项转录组部分单细胞部分 brief 上一篇学习记录写了ORA&#xff0c;其中ORA方法只关心差异表达基因而不关心其上调、下调的方向&#xff0c;也许同一条通路里既有显著高表达的基因&#xff0c;也有显著低表达的基因&#xff0c;因此最后…

3.7号freeRtoS

1. 串口通信 配置串口为异步通信 设置波特率&#xff0c;数据位&#xff0c;校验位&#xff0c;停止位&#xff0c;数据的方向 同步通信 在同步通信中&#xff0c;数据的传输是在发送端和接收端之间通过一个共享的时钟信号进行同步的。这意味着发送端和接收端的时钟需要保持…

视频编解码技术介绍 - 基本概念篇

第一章 视频编解码技术介绍 - 基本概念篇 文章目录 前言1. 我的疑问1.1 什么是视频编解码技术1.2 为什么会有视频编解码技术1.3 视频编解码中有哪些核心技术1.4 作为开发者需要重点了解视频编解码中的哪些技术 2. 视频编解码的历史3. 基本概念3.1 像素3.2 分辨率3.3 ppi(像素密…

CorelDRAW下载2024最新版专业的平面设计软件,专注于矢量图形编辑与排版

CorelDRAW是一款功能强大的矢量图形设计软件&#xff0c;广泛应用于标志设计、插画绘制、排版印刷、VI设计、包装设计、网页制作等众多领域。它提供了丰富的绘图工具和特效&#xff0c;使用户能够轻松地创建和编辑复杂的矢量图形。CorelDRAW还支持导入和导出多种文件格式&#…

RabbitMQ 安装使用

文章目录 RabbitMQ 安装使用安装下载 Erlang下载 RabbitMQ 的服务安装好后看是否有 RabbitMQ 的服务开启管理 UIRabbitMQ 端口使用一览图 使用输出最简单的 Hello World&#xff01;生产者定义消费者消费消息小拓展 RabbitMQ 安装使用 安装 下载 Erlang RabbitMQ 是用这个语…

【机器学习300问】30、准确率的局限性在哪里?

一、什么是准确率&#xff1f; 在解答这个问题之前&#xff0c;我们首先得先回顾一下准确率的定义&#xff0c;准确率是机器学习分类问题中一个很直观的指标&#xff0c;它告诉我们模型正确预测的比例&#xff0c;即 还是用我最喜欢的方式&#xff0c;举例子来解释一下&#xf…

倒计时35天

dp预备(来源&#xff1a;b站acm刘春英老师) 1. 2. 3. 4. 5. 6. 7.

13:大数据与Hadoop|分布式文件系统|分布式Hadoop集群

大数据与Hadoop&#xff5c;分布式文件系统&#xff5c;分布式Hadoop集群 Hadoop部署Hadoop HDFS分布式文件系统HDFS部署步骤一&#xff1a;环境准备HDFS配置文件 查官方手册配置Hadoop集群 日志与排错 mapreduce 分布式离线计算框架YARN集群资源管理系统步骤一&#xff1a;安装…

spring boot 集成 mysql ,mybatisplus多数据源

1、需要的依赖&#xff0c;版本自行控制 <dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId> </dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java<…

初阶数据结构之---二叉树的顺序结构-堆

引言 今天要讲的堆&#xff0c;不是操作系统虚拟进程地址空间中&#xff08;malloc&#xff0c;realloc等开空间的位置&#xff09;的那个堆&#xff0c;而是数据结构中的堆&#xff0c;它们虽然名字相同&#xff0c;却是截然不同的两个概念。堆的底层其实是完全二叉树&#x…

【spark operator】spark operator动态分配executor

背景&#xff1a; 之前在使用spark operator的时候必须指定executor的个数&#xff0c;在将任务发布到spark operator后&#xff0c;k8s会根据指定的个数启动executor&#xff0c;但是对于某些spark sql可能并不需要用到那么多executor&#xff0c;在此时executor的数量就不好…

Python快速入门系列-1

Python快速入门系列 第一章: Python简介1.1 Python的历史与发展1.2 Python的优势与特点1.2.1 易学易用1.2.2 动态类型1.2.3 丰富的标准库与第三方库1.2.4 面向对象与函数式编程1.2.5 广泛应用领域 1.3 Python的应用领域 第一章: Python简介 1.1 Python的历史与发展 Python是一…

sizeof和strlen的详细万字解读

sizeof和strlen的对比 sizeof不是函数 侧面证明sizeof不是函数 如果是函数 应该需要有括号 不能落下来 strlen 只针对字符串 包含头文件 string.h 并且这个是个函数 随机数值 sizeof里面有表达式的话 表达式里面是不参与计算的 下面的s求出的是4 就是因为是不参与计算的 不…