Git相关知识(1)
目录
1.初识Git
1.基础知识
2.centos中下载
2.基本操作
1.创建本地仓库
2.配置本地仓库
3.版本库、工作区、暂存区
4.添加文件
5.add和commit对git文件的作用
6.修改文件
7.版本回退
8.撤销修改
9.删除文件
3.分支操作
1.HEAD与分支
2.创建分支
3.删除分支
4.合并冲突
5.分支管理
6.分支决策
1.初识Git
1.基础知识
Git:是一种版本控制器,用于记录每一次修改以及版本迭代的一个管理系统
作用:可以控制电脑上所有格式的文档,对于开发人员而言最重要的就是可以管理项目中的源代码文档
2.centos中下载
sudo yum install git -y
2.基本操作
1.创建本地仓库
想要Git进行管理,必须将文件放在Git仓库中进行管理
git init:在当前文件中创建一个Git仓库
此时我们会发现文件中有一个隐藏文件.git,其用于追踪管理文件
2.配置本地仓库
1.配置用户名称:git config user.name "(这里写用户名字)"
2.配置用户email地址:git config user.email"(这里写用户地址)"
3.查看当前所有的配置属性:git config -l
4.重置配置:git config --unset XXX(属性)
在当前主机下,本地仓库可以开辟多个
5.所有本地仓库的配置项:本地仓库git config --global XXX(属性) YYY(配置信息)
6.--global创建的属性,不能通过普通的重置,得使用git config --global --unset XXX(属性)
3.版本库、工作区、暂存区
1.如果直接新建一个文档在本地仓库下,那么此时git并没有对该文档进行管理
2.真正管理文件的仓库其实是.git这个隐藏文件。此外不能对.git进行手动修改
3..git为版本库,也叫做仓库
4.生成的这个文档其实在工作区
5.index为暂存区,也是索引。存储的是修改对象的索引
6.objects:对象库,存储git对象。修改的工作区内容会写入到对象库的一个git对象。用于维护所有文件的版本
7.master:存储修改对象的索引
add:将工作区的修改文件添加到暂存区。这里的修改文件指的是:增删改的文件
commit:将index的文件存入到master中,此刻才能说文件被放入了版本库中进行管理
4.添加文件
git add . :工作区所有文件添加到暂存区
git add (指定文件) :工作区指定文件添加到暂存区
git commit -m "(本次添加的细节)"
git log:查看由近到远的提交记录细节 [git log --pretty=oneline]
5.add和commit对git文件的作用
1.add之后的内容都在index中
2.cat .git/HEAD后,我们能查看到HEAD指向的是master
3.master存放的是最新的commit的id
4.objects中存放了很多的对象
5.git cat-file -p commit的id:查看objects中的对象
6.修改文件
git status:查看哪些文件进行修改
git diff 文件名:查看文件修改的是情况(-为原版,+为改版)
7.版本回退
git reset [--soft | --mixed | --head] [HEAD]:本质是将版本库的版本进行回退
--soft:只回退版本库
--mixed:回退版本库和暂存区
--head:回退所有内容
git reflog:查看每次本地提交命令
1.配合git log --pretty=oneline查看得到commitID,使用git reset [--soft | --mixed | --head] [HEAD]
2.git reset [--soft | --mixed | --head] [HEAD]可以回退,但是需要得到commitID
1.版本回退的速度其实很快
2.其原理其实是因为HEAD指向的master中有commitID,只需要在回退版本时将master的commitID修改即可
3.git reset还可以回退到当前版本,用于撤销修改。默认时--mixed,^表示回退一个版本
8.撤销修改
撤销有不同的策略:
1.只有工作区修改了
1.手动撤销 --- 不推荐
2.git checkout -- [文件名]
2.工作区和暂存区修改了
1.git reset --head 文件名 HEAD
2.git reset 文件名,就变成了条件1
3.所有区都修改了
git reset --head HEAD
1.push操作可把版本库内容发送给远程仓库
2.想要实现条件3撤销修改操作,需要在commit之后没有进行push操作
3.条件3修改是为了不影响远程仓库
9.删除文件
方法1:rm删除文件后,还想要add和commit将文件更新
方法2:git rm 文件,实际该操作包含rm和add两步,最后我们commit即可
3.分支操作
1.HEAD与分支
HEAD指向的master,master记录最新的commitID。通过对master的结构中的parent能够回溯到之前的版本中去
2.创建分支
git branch:查看分支
git branch 创建分支的名称:创建分支
1.HEAD可以指向其他分支,被HEAD指向的分支才是当前工作的分支
2.此时我们会发现,HEAD文件中有一个master和一个新建的分支。并且这个新建分支指向的也是当前的工作分支
git checkout 分支名称:切换分支(HEAD指向新分支)
git merge 分支名称:合并分支
3.删除分支
删除分支的条件就是:必须在其他的分支上对非当前分支上进行删除
git branch -d 分支名:删除指定分支,指的是合并后的删除
4.合并冲突
多条分支对同一个文件进行操作后,使得文件的内容都不一样,那么此时如果进行git merge合并操作,那么就会报错说明当前的内容合并冲突了,需要我们自己手动进行筛选自己想要的内容。
一旦冲突修复完毕,需要重新对文件进行提交。
git log --graph --abbrev-commit:可视化分支结构
5.分支管理
git merge合并的通常为Fast forward模式。该模式无法判断是merge进来的文件还是正常提交的文件
git merge --no--ff -m "提交信息" 分支:不使用Fast forward模式
6.分支决策
1.master分支:在任何环境下都是稳定的环境,它在项目实现中作为最终出现的结果。其他分支不稳定需要经过公司的一系列测试最终将稳定的代码合并到master中去。其他分支的编写真好符合分组开发的要求。
2.bug分支:master分支稳定也不能百分百得到保证,它也会出现bug。我们不能在master中直接对文件进行修改。当然所有业务开发的文件都可以创建bug分支对文件进行修改为保证可靠性。
git stash:将工作区的内容进行存储,保存到/refs中。
git stash list:查看保存
git stash pop:撤回stash
1.如果其他文件正在开发,master出bug了,那么将其他开发文件git stash保存,此时的文件变回原来的内容。随后创造bug分支,将所有的修改改完合并到master中。最后将其他开发git stash pop,撤回stash继续开发。
2.若想继续将master和其他文件进行合并,不建议直接在master中合并,我们要在其他文件中合并,就算合并有bug也可以慢慢改
未merge的分支的删除操作:
1.首先说明不能使用git branch -d,因为文件被保护无法删除
2.可以使用git branch -D强制删除
相关文章:
Git相关知识(1)
目录 1.初识Git 1.基础知识 2.centos中下载 2.基本操作 1.创建本地仓库 2.配置本地仓库 3.版本库、工作区、暂存区 4.添加文件 5.add和commit对git文件的作用 6.修改文件 7.版本回退 8.撤销修改 9.删除文件 3.分支操作 1.HEAD与分支 2.创建分支 3.删除分支 …...
pytorch中nn.DataParallel多次使用
pytorch中nn.DataParallel多次使用 import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import DataLoader# 定义模型 class MyModel(nn.Module):def __init__(self):super(MyModel, self).__init__()self.fc nn.Linear(10, 1)def forwa…...
制作电商页面(Html)
任务 制作一个电商页面,要求所卖物品清晰,页面色调清晰,要有主页和详情页。 网站所买物品:书籍 色调:#FF2400 橙红色 代码 主页HTML代码: <html><head><meta charset"utf-8"…...
Android Sutdio依赖Snapshot版本,无法同步最新的包
起因 局域网中搭建了Nexus托管本地打包的aar,正常情况下,把修改完成的库推送到仓库后,其他项目引用Snapshot版本的依赖,同步后会马上下载最新的包,但是当第二次推送后,就没有重新下载最新的包,…...
Feign调用异常触发降级捕获异常
通过配置fallbackFactory来捕获异常信息,代码如下 FeignClient(name "user", fallbackFactory UserFallBackFactory.class) public interface UserFeign {PostMapping("/get/list")Map getList();}Component public class UserFallBackFacto…...
Springboot 音乐网站管理系统idea开发mysql数据库web结构java编程计算机网页源码maven项目
一、源码特点 springboot 音乐网站管理系统是一套完善的信息系统,结合springboot框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发),系统 具有完整的源代码和数据库&…...
微信支付v2-02
...
企业的销售活动是什么?CRM销售管理系统给你答案
在企业业务中,销售活动是实现企业业绩目标的基本单元,起着奠基石的作用。CRM销售管理系统是销售活动管理的必备工具,帮助企业更好地开展销售活动。下面来说说企业的销售活动是什么? 什么是销售活动 简单来说,销售人员…...
【PG】PostgreSQL参数格式 配置文件格式
目录 一 PG参数格式 二 通过配置文件修改参数 postgresql.auto.conf文件 三 通过SQL修改参数 四 通过shell修改参数 五 管理配置文件内容 一 PG参数格式 所有参数名都是大小写不敏感的。每个参数都可以接受五种类型之一的值: 布尔、字符串、整数、 浮点数或枚…...
应用层协议 HTTP
一、应用层协议 我们已经学过 TCP/IP , 已然知道数据能从客户端进程经过路径选择跨网络传送到服务器端进程。 我们还需要知道的是,我们把数据从 A 端传送到 B 端, TCP/IP 解决的是顺丰的功能,而两端还要对数据进行加工处理或者使用…...
Springboot+vue的应急救援物资管理系统,Javaee项目,springboot vue前后端分离项目。
演示视频: Springbootvue的应急救援物资管理系统,Javaee项目,springboot vue前后端分离项目。 项目介绍: 本文设计了一个基于Springbootvue的前后端分离的应急救援物资管理系统,采用M(model)V&…...
创建properties资源文件,并由spring组件类获取资源文件
1.1 创建资源文件file-upload-dev.properties #文件上传地址 file.imageUserFaceLocation=/workspaces/images/foodie/faces #图片访问地址 file.imageServerUrl=http://localhost:8088/foodie/faces1.2 创建spring组件获取资源文件类FileUpload import org.springframework.…...
你知道npm、yarn、pnpm的区别吗?
npm 嵌套的 node_modules 结构 npm 在早期采用的是嵌套的 node_modules 结构,“node_modules” 文件夹通常包含项目依赖的模块。在项目中使用多个依赖并且这些依赖本身也有它们自己的依赖时,就会出现嵌套的 “node_modules” 结构。 嵌套的 “node_mo…...
利用excel表格进行分包和组包
实际使用中,我们可能希望修改某几个数据之后,最终的数据包能够自动发动数据,类似于在给结构体变量修改数据,自动生成完整的结构体; excel语法 1:拆分数据 LEFT(A4,2) – 取A4单元格左边的两个数据 RIGHT(A4…...
Go 语言切片扩容规则是扩容2倍?1.25倍?到底几倍
本次主要来聊聊关于切片的扩容是如何扩的,还请大佬们不吝赐教 切片,相信大家用了 Go 语言那么久这这种数据类型并不陌生,但是平日里聊到关于切片是如何扩容的,很多人可能会张口就来,切片扩容的时候,如果老…...
突破封锁|华为芯片10年进化史:从K3V1到麒麟9000S
华为海思麒麟芯片过去10年研发历程回顾如下: 2009年:华为推出第一款手机芯片K3V1,采用65nm工艺制程,基于ARM11架构,主频600MHz,支持WCDMA/GSM双模网络。这款芯片搭载在华为U8800手机上,标志着华…...
vue建项目
vue3 create-vue 建vue3项目 vscode里改点东西,首先vetur禁用,这个是vue2的,下volar pinia持久化插件:npm i pinia-plugin-persistedstate 配eslint、prettier 在.eslintrc.cjs里配 rules: {// prettier专注于代码的美观度 (格…...
天龙八部服务端Public目录功能讲解
PublicDataAIScript文件夹中 script(0~210).ai怪物AI脚本设定如是否主动攻击是否使用技能 PublicDataScript文件夹中 eventbossgroupbg_BossAI_CreateMonster.lua 是BOSS群 刷小怪通用脚本 PublicDataScript文件夹中 eventbossgroupbg_CangShan.lua 苍山 BOSS群刷新脚本 Public…...
好用的Java工具类库—— Hutool
目录 一、简介 1、介绍 2、Hutool名称的由来 3、Hutool如何改变我们的coding方式 4、包含组件(核心) 5、官方文档 二、安装与使用 1、引入 import方式 exclude方式 2、安装(POM) 三、使用 1、DateUtil 2、StrUtil 3、NumberUtil 4、MapU…...
IDEA的使用(三)Debug(断点调试)(IntelliJ IDEA 2022.1.3版本)
编程过程中如果出现错误,需要查找和定位错误时,借助程序调试可以快速查找错误。 编写好程序后,可能出现的情况: 1.没有bug。 使用Debug的情况: 2.运行后,出现错误或者异常信息,但是通过日志文件…...
UE4动画蓝图实战:用双骨骼IK节点搞定手部穿模,附完整蓝图节点截图
UE4动画蓝图实战:双骨骼IK节点解决手部穿模的完整指南在角色动画开发中,手部穿模问题堪称"视觉杀手"。想象一下精心设计的角色挥拳时,拳头直接穿过墙壁或敌人身体——这种违和感足以毁掉整个场景的沉浸感。本文将彻底解决这个痛点&…...
信息系统项目管理师核心知识点精讲
一、项目整合管理(重点:项目章程与项目管理计划) 知识点详解: 项目整体管理是项目管理知识体系的核心,它确保项目各要素协调统一。在考试中,特别要掌握项目章程和项目管理计划的区别与联系。 项目章程是项目的“出生证明”,由项目发起人发布。它正式授权项目,赋予项…...
告别拍脑袋规划!用ArcGIS做绿道选线:如何科学量化坡度、水域、道路成本并加权计算
科学规划绿道的ArcGIS高阶技法:从成本栅格构建到最优路径生成绿道规划从来不是简单的"两点之间直线最短",而是需要综合考虑地形、生态、人文等多维因素的复杂决策过程。传统规划中常见的"拍脑袋"决策方式,往往导致建成后…...
SSH工具对比:新手用户和熟练运维,选型逻辑有什么不同
结论 新手用户和熟练运维在选择 SSH 工具时,关注点往往完全不同。 新手更在意的是:能不能顺利连接、界面是否直观、文件和配置是否容易找到、网站出问题时能不能快速定位。 而熟练运维更在意的是:连接效率、命令自由度、多服务器管理能力、原…...
ARM PMU性能监控单元原理与实践指南
1. ARM PMU性能监控单元概述性能监控单元(PMU)是现代ARM处理器中用于硬件级性能分析的核心组件。它通过一组可编程的硬件计数器,实现对处理器内部各种关键事件的精确测量。这些事件涵盖了从指令执行、缓存访问到内存子系统行为等处理器活动的…...
光效崩坏?噪点泛滥?色温漂移?——Midjourney专业级光效渲染全流程校准协议,含ACEScg色彩空间适配模板
更多请点击: https://kaifayun.com 第一章:光效崩坏、噪点泛滥与色温漂移的系统性归因诊断 图像采集链路中出现的光效崩坏、噪点泛滥与色温漂移并非孤立现象,而是光学设计、传感器响应、ISP管线调度及环境耦合失配共同作用的结果。三者常呈现…...
FeHelper前端助手:30+开发工具集,让你的浏览器变身效率神器
FeHelper前端助手:30开发工具集,让你的浏览器变身效率神器 【免费下载链接】FeHelper 😍FeHelper--Web前端助手(Awesome!Chrome & Firefox & MS-Edge Extension, All in one Toolbox!) 项目地址:…...
基于USB ACA模式实现安卓手机边玩边充的游戏手柄设计
1. 项目缘起:当手机性能过剩,却败给了触摸屏几年前,我清理手机游戏时,发现一个挺无奈的现象:性能足以媲美掌机的智能手机里,只剩下一些慢节奏的平台解谜或者数独。那些曾经让我在掌机上废寝忘食的赛车、动作…...
ComfyUI-Manager完整指南:如何轻松管理你的AI工作流扩展库
ComfyUI-Manager完整指南:如何轻松管理你的AI工作流扩展库 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable various c…...
百度深度学习研究院的“叛将“,带着一颗芯片改变了中国智能驾驶——地平线余凯,从ImageNet冠军到征程出货1000万
大家好,我是写代码的篮球球痴。这篇文章跟我自己有点关系——我开的是理想汽车。理想的智驾系统 AD Pro,搭载的就是地平线征程 5 芯片。2026 年 1 月理想 AD Pro 4.0 推送,基于单颗征程 6M 实现了城市 NOA——这是行业里第一个用单颗 128TOPS…...



