不吃饭也要搞懂的 git 命令

昨天睿哥布置了一个任务给我,让我学习一下 Git 的一些命令。

我问睿哥,到底我们在实际开发中用哪些命令会比较多,睿哥是这样回答我的:

而且他推荐我用 IDEA 自带的那个 Git 面板来执行 git 命令,他说直接敲命令太麻烦了,还慢。在这之前,我一直以为 git 只可以用命令来操作,就是要用键盘敲,我才知道原本 IDEA 也有 Git 面板,在 IDEA 直接用 Git 面板,点来点去就可以了。

所以昨天的时候,我就去着重的学习了一下这些命令在 IDEA 中如何操作。结果我发现,操作是学会了,但是我并不知道这些命令到底是用来干嘛的,为什么要有这些命令。我当时就处于一个知其然而不知其所以然的状态。因此,今天我专门研究了一下这些命令的意思以及为什么要有这些命令。

关于 Git 的常用概念

版本库(Repository)

版本库是存储代码修改历史的地方,在这里面记录了每个文件的每次修改。我们在修改完代码之后,用提交命令,就会提交到这个地方。然后提交到这个地方之后,再用推送命令,就会将代码提交到远程仓库。

远程仓库(Remote Repository)

开发人员可以从远程仓库下载代码,将本地修改的代码通过提交命令+推送命令,可以将代码推送给到远程仓库上。

提交(commit)

我们每次对代码进行修改之后,都需要提交,把代码提交到版本库中。这里我印象比较深的就是提交之后,IDEA 会让你填写一下提交信息,描述一下你提交的那个代码修改了什么。

分支(branch)

讲分支之前,我们需要知道为什么要分支?通过创建分支,我们就可以在不影响主线开发的情况下,进行独立的工作。每个分支都是一个独立的代码版本,我们一般在分支上进行修改,然后提交。不同分支可以切换,分支也可以删除。

合并(merge)

为什么需要合并呢?因为每个人用不同的分支开发完成之后,都需要将这些分支合并到主线上。合并其实就是将不同代码版本合并成一个版本。不过我问了睿哥,他跟我说这个我用的应该不算多,他自己用的会多一点,毕竟我不是组长哈哈哈。

签出(checkout)

对某个分支选择签出之后,就会切换到这个分支。

容易混淆的两个概念之变基与合并

这个我还不是很懂,等到时弄懂了再写

容易混淆的概念之拉取和提取

拉取(Pull)其实包含两个慢动作,一是先从远程仓库获取最新的提交记录(提取Fetch),二是将这些提交记录应用在本地分支上(合并Merge)。

为什么需要拉取呢?拉取其实是为了和远程分支保持同步。

而提取其实只是拉取的其中一个步骤,这个命令只会从远程仓库中获取最新的提交记录,不会将最新的提交记录合并应用到本地分支上。这样我们就可以先查看提交记录,看看这些新的提交记录对我们有没有用,然后再决定要不要合并。

有一个公式:拉取(Pull)=提取(Fetch)+提取(Merge)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

WPF学习(2)--类与类的继承2-在窗口的实现

一、代码分析 1.Animal.cs 1.1 代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace AnimalNamespace {public class Animal{public string Name { get; set; }public int Age { get; set…

【乐吾乐2D可视化组态编辑器】条件变化,触发告警动画

条件触发告警动画 乐吾乐2D可视化组态编辑器地址:https://2d.le5le.com/ 如图所示,左侧文本图元数值一直在变化,当数值大于等于50的时候,右侧矩形图元执行告警动画,当数值小于50的时候,右侧图元恢复正常。…

Blender雕刻建模_UV展开

UV展开的标准:展平,不重叠,均匀展开 ZenUV插件 切到边模式 -Mark,标记缝合边 -Unmark,取消标记 -Unmark All,全部取消标记 -Mirror Seams,镜像缝合边 -Zen Unwrap,全部展开 纹…

Python私教张大鹏 Vue3整合AntDesignVue之Checkbox 多选框

何时使用 在一组可选项中进行多项选择时; 单独使用可以表示两种状态之间的切换,和 switch 类似。区别在于切换 switch 会直接触发状态改变,而 checkbox 一般用于状态标记,需要和提交操作配合。 案例:多选框组件 核心…

Django中使用下拉列表过滤HTML表格数据

在Django中,你可以使用下拉列表(即选择框)来过滤HTML表格中的数据。这通常涉及两个主要步骤:创建过滤表单和处理过滤逻辑。 创建过滤表单 首先,你需要创建一个表单,用于接收用户选择的过滤条件。这个表单可…

Laravel 6 - 第十九章 模型文件

​ 文章目录 Laravel 6 - 第一章 简介 Laravel 6 - 第二章 项目搭建 Laravel 6 - 第三章 文件夹结构 Laravel 6 - 第四章 生命周期 Laravel 6 - 第五章 控制反转和依赖注入 Laravel 6 - 第六章 服务容器 Laravel 6 - 第七章 服务提供者 Laravel 6 - 第八章 门面 Laravel 6 - …

基于JSP的超市管理系统

你好呀,我是计算机学长猫哥!如果有相关需求,文末可以找到我的联系方式。 开发语言:Java 数据库:MySQL 技术:JSP MyBatis 工具:IDEA/Eclipse、Navicat、Maven 系统展示 员工管理界面图 管…

香港户口需要什么条件?有学历要求吗?最新香港落户途径详解!

香港户口需要什么条件?有学历要求吗?最新香港落户途径详解! 由于香港放开“落户”窗口,想去香港发展或者想拿香港身份的朋友都想抓住这个机会赶紧申请。 只是,香港户口办理是有条件的,而且有学历要求&…

方法分享 |公网IP怎么指定非433端口实现https访问

公网IP可以通过指定非443端口实现HTTPS访问。在网络配置中,虽然HTTPS协议默认使用443端口,但没有规定不能在其他端口上实施HTTPS服务。使用非标准端口进行HTTPS通信需要正确配置服务器和SSL证书,并确保客户端能够连接到指定的端口。下面说明如…

tracetcp下载 安装 使用 网络工具 windows trace工具 tcp协议

省流 Tracetcp是一个类似于Tracert的工具,使用如下: 1. 安装winpcap , 下载链接:WinPcap Download 2.下载tracetcp软件,下载链接: https://github.com/0xcafed00d/tracetcp/releases 命令:…

工业交换机的供电功率配置

在工业领域中,交换机作为网络设备中的重要组成部分,其供电功率配置必不可少。工业交换机的供电功率配置不仅关系到设备的稳定运行,还直接影响到整个工业生产系统的效率和安全性。因此,在选择工业交换机时,必须对供电功…

WPF视频学习-简单应用篇图书馆程序(一)

1.登录界面和主界面跳转 先把登录界面分为三行《Grid》 先添加两行&#xff1a; <Grid><!--//分三行&#xff0c;行排列--><Grid.RowDefinitions><RowDefinition Height"auto"/><RowDefinition Height"auto"/><RowDef…

GD32 MCU超频后无法再次下载程序的解决办法

我们知道&#xff0c;MCU的系统时钟主频就相当于人的心跳或脉搏&#xff0c;为所有的工作单元提供时间基数&#xff0c;所以一般在程序最开始的地方都需要进行主频配置。 GD32固件库中提供了多种宏定义&#xff0c;可以很方便的将系统时钟配置为想要的频率。 GD32固件库中所用…

[C#]winform使用onnxruntime部署LYT-Net轻量级低光图像增强算法

【训练源码】 https://github.com/albrateanu/LYT-Net 【参考源码】 https://github.com/hpc203/Low-Light-Image-Enhancement-onnxrun 【算法介绍】 一、研究动机 1.研究目标 研究的目标是提出一种轻量级的基于YUV Transformer 的网络&#xff08;LYT-Net&#xff09;&…

NVIDIA DeepStream SDK 说明及链接

NVIDIA DeepStream SDK DeepStream 的多平台支持为您提供了一种更快、更简单的方式来开发视觉AI应用程序和服务。您甚至可以在本地、边缘和云中部署它们&#xff0c;只需单击一个按钮。 开始 在Launchpad上试用 什么是 NVIDIA DeepStream&#xff1f; NVIDIA 的 DeepStream …

没有登录微信就不会截图了?这个方法你一定要学会

前言 前段时间小白在指导小伙伴的时候&#xff0c;发现他在电脑没有登录微信的时候就不会截图了。 这个可就难倒他了…… 所以他登录了个微信&#xff0c;然后截了张图&#xff0c;接着把微信退出了。这人可真是谨慎啊&#xff5e; 所以&#xff0c;小伙伴在使用电脑的时候…

linux shell查看24h内修改的文件

执行命令&#xff1a; find /path -type f -mtime 0

【JMeter接口测试工具】第二节.JMeter项目实战(下)【实战篇】

文章目录 前言一、接口弱压力测试二、高并发、高频率三、生成图形化报告总结 前言 一、接口弱压力测试 场景举例&#xff1a; 场景1:模拟半小时之内 1000 个用户访问服务器资源&#xff0c;要求平均响应时间在3000ms内&#xff0c;且错误率为0 实现步骤&#xff1a; 步骤一&am…

创新共享经济:探索Web3对新商业模式的启迪

随着Web3时代的到来&#xff0c;我们正在见证着一场数字经济的革命。在这个革命中&#xff0c;区块链技术作为一种基础设施&#xff0c;正为创新的共享经济模式提供新的契机。本文将深入探讨Web3对新商业模式的启迪&#xff0c;以及如何借助区块链技术构建更加开放、公平、高效…

go context 源码刨析(一)

Context 上下文context.Context 是用来设置截止时间、同步信号&#xff0c;传递请求相关值的结构体。 context.Context 定义了四个需要实现的方法&#xff1a; Deadline: 返回 context.Context 被取消的时间。Done: 返回一个 Channel&#xff0c;这个 Channel 会在当前工作完…