当前位置: 首页 > news >正文

Git的简介

文章目录

    • 一.Git是什么
    • 二.核心概念
    • 三.工作流程
    • 四.Git的优势

下载Git 推荐官网下载
官网地址

一.Git是什么

Git是一个分布式版本控制系统,用于跟踪文件的变化并协调多人对同一项目的开发工作。它就像是一个时光机器,能够记录文件在不同时间点的状态,让开发者可以回溯文件的历史版本,比较不同版本之间的差异,以及轻松地恢复到之前的某个状态。

二.核心概念

  1. 仓库(Repository)
    • 仓库是Git用于存储项目文件及其版本历史的地方。可以把它想象成一个装满了文件各个版本的箱子。仓库分为本地仓库(存在于开发者自己的计算机上)和远程仓库(通常存储在服务器上,如GitHub、GitLab等平台)。
    • 例如,在开发一个软件项目时,本地仓库用于开发者在自己的电脑上进行代码的编写、修改和版本控制。而远程仓库则用于团队成员之间共享代码,方便多人协作开发。
  2. 提交(Commit)
    • 提交是Git中保存文件版本的操作。当开发者对文件进行了一系列的修改,并且这些修改达到了一个相对完整的阶段(比如完成了一个功能或者修复了一个bug),就可以将这些修改作为一个提交保存到仓库中。
    • 每个提交都有一个唯一的标识符(SHA - 1哈希值),并且包含了提交的作者、日期、提交说明等信息。例如,一个提交说明可能是“实现用户登录功能”,这样其他开发者在查看版本历史时就能清楚地知道这个提交的目的。
  3. 分支(Branch)
    • 分支是仓库中独立的开发线。可以基于现有的分支创建新的分支,在新分支上进行开发而不影响其他分支。这就好比是在一条主道路上开辟出的小岔路,开发者可以在岔路上进行实验性的开发或者开发新的功能。
    • 例如,在开发一个网站时,有一个主分支(mastermain)用于保存稳定的、可以发布的代码。同时,可以创建一个feature - login分支用于开发用户登录功能,一个bug - fix - navbar分支用于修复导航栏的问题等。
  4. 合并(Merge)和变基(Rebase)
    • 当在不同分支上完成开发后,需要将这些分支的修改合并到主分支或者其他分支上。合并是将两个分支的修改整合到一起的操作。变基则是一种修改提交历史的方式,它可以让提交历史看起来更加线性。
    • 例如,在feature - login分支完成用户登录功能开发后,可以将这个分支合并到master分支,使master分支包含登录功能的更新。变基操作通常用于整理提交历史,比如将多个小的提交合并为一个更有意义的提交,或者将分支的提交移动到主分支提交的后面,使提交历史更加清晰。

三.工作流程

  1. 初始化仓库
    • 可以使用git init命令在本地创建一个新的Git仓库,或者使用git clone命令从远程仓库克隆一个副本到本地。例如,在一个新的项目文件夹中执行git init,就会在这个文件夹中创建一个隐藏的.git文件夹,它包含了仓库的所有版本控制信息。
  2. 修改文件和暂存(Staging)
    • 开发者对文件进行修改后,使用git add命令将修改后的文件添加到暂存区。暂存区就像是一个准备提交的区域,它可以让开发者选择哪些修改要包含在下次提交中。例如,修改了一个代码文件和一个配置文件后,可以使用git add.将当前目录下的所有修改添加到暂存区。
  3. 提交(Commit)
    • 使用git commit命令将暂存区的文件提交到本地仓库。在提交时,需要提供一个提交说明来描述这次提交的内容。例如,git commit -m "优化数据库查询性能"会将暂存区的文件作为一个新的提交保存到本地仓库,并附上提交说明。
  4. 推送(Push)和拉取(Pull)
    • 为了与团队成员协作,需要将本地仓库的提交推送到远程仓库(使用git push命令),也需要从远程仓库获取其他成员的提交(使用git pullgit fetch命令)。例如,在完成一个功能的开发并提交到本地仓库后,使用git push origin feature - loginfeature - login分支的提交推送到远程仓库的feature - login分支。

四.Git的优势

  1. 分布式协作
    • 每个开发者都拥有整个项目仓库的完整副本,包括所有的版本历史。这使得开发者即使在没有网络连接的情况下也能继续工作,并且可以方便地与其他开发者共享代码。例如,在一个跨国团队中,不同地区的开发者可以各自在本地仓库进行开发,然后定期将自己的修改推送到远程仓库与其他成员共享。
  2. 版本控制和历史记录
    • Git能够详细地记录文件的版本变化,这对于追踪问题、查看功能的开发过程以及回滚到之前的版本非常有用。例如,当发现新上线的功能导致了系统故障时,可以通过Git的版本历史快速定位到引入问题的提交,并将项目回滚到之前稳定的版本。
  3. 分支管理
    • 灵活的分支管理功能允许开发者同时进行多个功能的开发、实验新的想法,并且可以轻松地合并或放弃这些分支。这有助于提高开发效率,降低开发过程中的风险。例如,在开发一个大型软件时,可以通过创建多个分支来并行开发不同的模块,最后将这些分支的成果合并到主分支中。

相关文章:

Git的简介

文章目录 一.Git是什么二.核心概念三.工作流程四.Git的优势 下载Git 推荐官网下载 官网地址 一.Git是什么 Git是一个分布式版本控制系统,用于跟踪文件的变化并协调多人对同一项目的开发工作。它就像是一个时光机器,能够记录文件在不同时间点的状态&…...

麒麟操作系统服务架构保姆级教程(四)NGINX中间件

如果你想拥有你从未拥有过的东西,那么你必须去做你从未做过的事情 想要在网页上访问到代码那么就需要用到应用服务类中间件,国外的有Nginx,Tomcat等,国内的有金蝶web,东方通的服务中间件(Tongweb&#xff0…...

Glide 自定义圆角、铺满FitXY

在 Android 开发中,使用 Glide 来加载图片时,有时需要对图片进行特定的处理,比如设置圆角或者使图片完全填充到一个视图中(类似于 ImageView 的 scaleType 中的 FitXY)。以下是如何使用 Glide 来实现这些自定义需求的处…...

蓝牙协议——音乐启停控制

手机播放音乐 手机暂停音乐 耳机播放音乐 耳机暂停音乐...

Krita安装krita-ai-diffusion工具搭建comfyui报错没有ComfyUI_IPAdapter_plus解决办法

我们在使用Kirta安装krita-ai-diffusion工具之后搭建comfyui环境需要安装很多扩展文件。 一般正常安装都可以使用了。 但是有一个插件很特别,无论你安装多少遍都会显示缺失,是什么插件这么难搞定呢? 没错,就是我们的ComfyUI_IPAdapter_plus插件。 就像下图一样: 那么怎…...

四相机设计实现全向视觉感知的开源空中机器人无人机

开源空中机器人 基于深度学习的OmniNxt全向视觉算法OAK-4p-New 全景硬件同步相机 机器人的纯视觉避障定位建图一直是个难题: 系统实现复杂 纯视觉稳定性不高 很难选到实用的视觉传感器 为此多数厂家还是采用激光雷达的定位方案。 OAK-4p-New 为了弥合这一差距…...

LightGBM分类算法在医疗数据挖掘中的深度探索与应用创新(上)

一、引言 1.1 医疗数据挖掘的重要性与挑战 在当今数字化医疗时代,医疗数据呈爆炸式增长,这些数据蕴含着丰富的信息,对医疗决策具有极为重要的意义。通过对医疗数据的深入挖掘,可以发现潜在的疾病模式、治疗效果关联以及患者的健康风险因素,从而为精准医疗、个性化治疗方…...

JVM(Java虚拟机)的组成部分详解

摘要: JVM (Java Virtual Machine) 是一个抽象计算模型,它使Java程序可以在任何支持JVM的操作系统上运行,而无需考虑底层硬件架构。本文将深入探讨JVM的内部结构和工作机制,包括类加载器、运行时数据区、执行引擎以及内存管理等关…...

jsp中的四个域对象(Spring MVC)

在Spring MVC中,Model中的数据会被自动放入到请求域(Request Scope)中。也就是说,当我们在控制器中使用model.addAttribute()时,这些属性会被放入到HttpServletRequest对象的属性中。 让我们通过代码来详细解释&#…...

计算机基础知识复习12.24

http和https有那些区别 http是超文本传输协议,信息是明文传输,存在安全风险的问题,https则解决http不安全的缺点,在TCP和HTTP网络层之间加入了SSL/TLS安全协议,使得报文能够加密传输 http连接建立相对简单&#xff0…...

如何使用vscode解决git冲突

在使用VSCode时,遇到Git冲突是很常见的情况。Git冲突是指当多个人同时修改同一个文件的同一行或相邻行时,Git无法自动决定应该保留哪一个修改,需要手动解决这个冲突。 要解决Git冲突,可以按照以下步骤操作: 1. 打开V…...

告别卡顿:CasaOS轻NAS设备安装Gopeed打造高效下载环境

文章目录 前言1. 更新应用中心2.Gopeed安装与配置3. 本地下载测试4. 安装内网穿透工具5. 配置公网地址6. 配置固定公网地址 前言 无论你是需要大量文件传输的专业人士,还是只是想快速下载电影或音乐的普通用户,都会使用到下载工具。如果你对现有的下载工…...

Java 重写(Override)与重载(Overload)

重写 (Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写!返回值和形参都不能改变。即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。…...

HDFS与HBase有什么关系?

1 、 HDFS 文件存储系统和 HBase 分布式数据库 HDFS 是 Hadoop 分布式文件系统。 HBase 的数据通常存储在 HDFS 上。 HDFS 为 HBase 提供了高可靠性的底层存储支持。 Hbase 是 Hadoop database ,即 Hadoop 数据库。它是一个适合于非结构化数据存储的数据库, HBase 基于列的…...

CentOS7下的vsftpd服务器和客户端

目录 1、安装vsftpd服务器和ftp客户端; 2、配置vsftpd服务器,允许普通用户登录、下载、上传文件; 3、配置vsftpd服务器,允许anonymous用户登录、下载、上传文件; 4、配置vsftpd服务器,允许root用户登录…...

全网最详细Gradio教程系列10——Blocks:底层区块类(下)

全网最详细Gradio教程系列10——Blocks:底层区块类(下) 前言本篇摘要10. Blocks:底层区块类10.4 Blocks Layout:布局10.4.1 行与列1. Rows2. Columns 10.4.2 选项卡和折叠类10.4.3 重渲染.render()10.4.4 Group分组10.…...

嵌入式设备常用性能和内存调试指令

文章目录 嵌入式设备常用性能和内存调试指令内存问题分析性能测试android设备通过NDK 使用SimplePerf 抓取火焰图嵌入式linux抓取特定进程的perf火焰图 杂记 嵌入式设备常用性能和内存调试指令 内存问题分析 安装valgrind,按照如下指令执行应用程序: …...

数据库系统原理:数据恢复与备份策略

3.1可行性分析 开发者在进行开发系统之前,都需要进行可行性分析,保证该系统能够被成功开发出来。 3.1.1技术可行性 开发该《数据库系统原理》课程平台所采用的技术是vue和MYSQL数据库。计算机专业的学生在学校期间已经比较系统的学习了很多编程方面的知识…...

C++软件设计模式之装饰器模式

装饰器模式(Decorator Pattern)是C软件设计模式中的一种结构型设计模式,主要用于解决在不改变现有对象结构的情况下动态地给对象添加新功能的问题。通过使用装饰器模式,可以在运行时为对象添加新的行为,而不需要修改其…...

fpga系列 HDL:Quartus II PLL (Phase-Locked Loop) IP核 (Quartus II 18.0)

在 Quartus II 中使用 PLL (Phase-Locked Loop) 模块来将输入时钟分频或倍频,并生成多个相位偏移或频率不同的时钟信号: 1. 生成 PLL 模块 在 Quartus II 中: 打开 IP Components。 file:///C:/intelFPGA_lite/18.0/quartus/common/help/w…...

Python|GIF 解析与构建(5):手搓截屏和帧率控制

目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡&#xff0c;轻快的音乐在耳边持续回荡&#xff0c;小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下&#xff0c;六一来了。 今天是六一儿童节&#xff0c;小蓝老师为了让大家在节…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子&#xff0c;再用 CNN-BiLSTM-Attention 来动态预测每个子序列&#xff0c;最后重构出总位移&#xff0c;预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵&#xff08;S…...