Git基本使用(很详细)

一:Git 概述

        1.1 定义:分布式版本控制系统

        1.2 版本控制

                (1)定义:

                        版本控制时一种记录文件内容变化,以便将来查阅特定版本修订情况的系统

                (2)举例

                                多副本

                                        

                                优化:

                                        不使用多副本方式做版本控制:从个人开发过渡到团队协作

                                                

        1.3 分布式与集中式

                        分布式

                                (1)定义:

                                               有一个单一的集中管理的服务器:协同工作的人员都在这台服务器上取出最新的文件或者提交更新

                                (2)缺点:中央服务器单点故障(如果服务器宕机,期间谁都无法提交更新也无法协同工作)

                                  

                集中式

                        定义:客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来(本地库)。每个客户端对每一次文件提取操作,实际上都是一次对整个文件仓库的完整备份

                        

        1.4 工作机制和代码托管中心

                        工作机制

                                (1)工作区:

                                                代码存放磁盘目录的位置

                                (2)暂存区:

                                                将工作区代码添加至暂存区(在工作区写了代码之后让git知道有这个代码)

                                (3)本地库

                                                暂存区代码提交到本地库(提交到本地库的代码不能被删除)

                                                

                代码托管中心

                                定义:基于网络服务器的远程代码仓库,一般称为远程库

二:Git 命令

        2.1 设置用户签名

                用户签名只代表本地的git客户端,与将来要登录的账号无关

                (1)命令名称

                                

                (2) 使用(输入命令前几个字母点击Tab键可补全命令)

        2.2 初始化本地库

                获取git管理权,默认情况下创建的文件是隐藏文件

                        

       2.3 查看本地仓库状态

                光标所在行,点击yy(复制),点击p(粘贴)

                清屏:CTRL+L

                新增文件(i进入编辑模式,esc进入命令模式,:wq 保存,ll查看)

                        

        2.4 添加暂存区

                (1)命令名称

                                

                                删除缓冲区文件(工作区仍然有)

                                

        2.5 提交本地库

                       将暂存区文件提交到本地库形成历史版本

                                (1)命令名称

                                                

                                                查看详细日志

                                                

        2.6 修改文件

                        每一次添加修改都要将文件添加到暂存区

                                

        2.7 版本穿梭

                        (1)查看信息

                                查看精简信息(知道项目经历了几个版本)

                                       

                                查看详细信息(多了提交作者、提交日期)

                                        

                (2)原理

                                Git切换版本不是 ctrl c v 造多个副本,而是在本地库内存里记录了很多信息,通过调用指针指向不同版本

                                

                (3)基本语法

                                

三:Git 分支

        3.1 概述

                (1)定义

                                同时推进多个任务是,为每个任务单独创建分支。使用分支意味着开发人员可以把自己的工作与开发主线分类开来,不影响主线运行

                

        3.2 查看、创建、切换

                (1)查看: git branch -v

                (2)创建:git branch 分支名

                (3)切换:git checkout 分支名

哪里漏了还希望能有大佬指正……

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

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

相关文章

23种设计模式-结构型模式之桥接模式(Java版本)

Java 桥接模式(Bridge Pattern)详解 🌉 什么是桥接模式? 桥接模式用于将抽象部分与实现部分分离,使它们可以独立变化。 通过在两个独立变化的维度之间建立“桥”,避免因多维度扩展导致的类爆炸。 &#x…

基于SIMMECHANICS的单自由度磁悬浮隔振器PID控制系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 单自由度磁悬浮减振器工作原理简介 4.2 SIMMECHANICS工具箱 5.完整工程文件 1.课题概述 基于SIMMECHANICS的单自由度磁悬浮隔振器PID控制系统simulink建模与仿真。其中,SIMMECHANICS是M…

contenthash 持久化缓存

以下是关于持久化缓存(contenthash)的深度技术解析,涵盖原理、配置策略及最佳实践,帮助我们构建高性能前端应用的缓存体系: 一、缓存机制核心原理 1. 浏览器缓存决策矩阵 触发条件缓存行为对应场景URL 未变化 + 强缓存有效直接读取磁盘/内存缓存未修改的静态资源URL 变化…

【前端记事】关于electron的入门使用

electron入门使用 背景how to start第一步 创建一个vite-vue3项目第二步 装各种依赖第三步 配置vite.config.jspackage.jsonelectron入口 启动重写关闭、隐藏、最大化最小化 背景 最近对electron比较感兴趣,折腾一段时间后有了点眉目,记录一下 how to …

跨浏览器音频录制:实现兼容的音频捕获与WAV格式生成

在现代Web开发中,音频录制功能越来越受到开发者的关注。无论是在线会议、语音识别还是简单的语音留言,音频录制都是一个重要的功能。然而,实现一个跨浏览器的音频录制功能并非易事,因为不同浏览器对音频录制API的支持存在差异。本…

Semantic Kernel也能充当MCP Client

背景 笔者之前,分别写过两篇关于Semantic Kernel(下简称SK)相关的博客,最近模型上下文协议(下称MCP)大火,实际上了解过SK的小伙伴,一看到 MCP的一些具体呈现,会发现&…

识别图片内容OCR并重命名文件

在工作场景中,经常出现通过拍摄设备获取图片后,未及时进行有效命名的情况。这些图片中往往包含关键信息(如合同编号、产品型号、日期等),需要人工识别并命名,存在以下痛点: 效率低下&#xff1…

【防火墙 pfsense】3 portal

(1)应该考虑的问题: ->HTTPS 连接的干扰问题:HTTPS 是一种旨在防止恶意第三方截取和篡改流量的协议。但强制门户的工作原理是截取并改变终端用户与网络之间的连接。这对于 HTTP 流量来说不是问题,但使用 HTTPS 加密…

银发科技:AI健康小屋如何破解老龄化困局

随着全球人口老龄化程度的不断加深,如何保障老年人的健康、提升他们的生活质量,成为了社会各界关注的焦点。 在这场应对老龄化挑战的战役中,智绅科技顺势而生,七彩喜智慧养老系统构筑居家养老安全网。 而AI健康小屋作为一项创新…

TCP协议理解

文章目录 TCP协议理解理论基础TCP首部结构图示字段逐项解析 TCP是面向连接(Connection-Oriented)面向连接的核心表现TCP 面向连接的核心特性TCP 与UDP对比 TCP是一个可靠的(reliable)序号与确认机制(Sequencing & Acknowledgment&#xf…

什么是机器视觉3D碰撞检测?机器视觉3D碰撞检测是机器视觉3D智能系统中安全运行的核心技术之一

机器视觉3D碰撞检测是一种结合计算机视觉和三维空间分析的技术,旨在检测三维场景中物体之间是否发生碰撞(即物理接触或交叠)。它通过分析物体的形状、位置、运动轨迹等信息,预测或实时判断物体间的碰撞可能性。以下是其核心要点: 基本原理 三维感知:利用深度相机(如RGB-…

nacos设置权重进行负载均衡不生效

nacos设置权重进行负载均衡不生效,必须在启动类下加上这个bean Beanpublic IRule nacosRule(){return new NacosRule();}如下图所示

创建 Node.js Playwright 项目:从零开始搭建自动化测试环境

一、环境准备 在开始创建 Playwright 项目之前,确保你的电脑上已经安装了以下工具: Node.js:Playwright 依赖于 Node.js 环境,确保你已经安装了最新版本的 Node.js。可以通过以下命令检查是否安装成功: node -v npm -…

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(11): てあります。

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(11): てあります。 1、前言(1)情况说明(2)工程师的信仰 2、知识点(1)てあります。(2)…

【金仓数据库征文】- 深耕国产数据库优化,筑牢用户体验新高度

目录 引言 一、性能优化:突破数据处理极限,提升运行效率 1.1 智能查询优化器:精准优化数据检索路径 1.2 并行处理技术:充分释放多核计算潜力 1.3 智能缓存机制:加速数据访问速度 二、稳定性提升:筑牢…

Java代理讲解

代理 代理模式是一种结构型设计模式,它允许我们通过添加一个代理对象来控制对另一个对象的访问。代理对象和实际对象具有相同的接口,使得客户端在不知情的情况下可以使用代理对象进行操作。代理对象在与客户端进行交互时,可以控制对实际对象…

利用deepseek快速生成甘特图

一、什么是甘特图 甘特图(Gantt Chart)是一种直观的项目管理工具,广泛应用于多个领域,主要用于​​时间规划、任务分配和进度跟踪​​。 直观性​​:时间轴清晰展示任务重叠或延迟。 ​​灵活性​​:支持…

从零开始学习SLAM|技术路线

概念 视觉SLAM(Simultaneous Localization and Mapping)系统中,整个过程通常分为 前端 和 后端 两个主要部分。前端处理的是从传感器数据(如相机图像、激光雷达等)中提取和处理信息,用于实时定位和建图&am…

LeetCode 解题思路 44(Hot 100)

解题思路: dp 数组的含义: 以 nums[i] 为结尾的最长递增子序列的长度。递推公式: dp[i] Math.max(dp[i], dp[j] 1)。dp 数组初始化: dp[i] 1。遍历顺序: 从小到大去遍历,从 i 1 开始,直到 …

精益数据分析(22/126):解锁创业增长密码与长漏斗分析

精益数据分析(22/126):解锁创业增长密码与长漏斗分析 在创业与数据分析的探索旅程中,我们都在不断寻求新的知识和方法,以提升创业的成功率。我一直期望能和大家共同学习、共同进步,今天就让我们继续深入研…