阶段七-GitEE
Git:版本控制软件
Git的优点
1.1 协同修改
-
多人并行不悖的修改服务器端的同一个文件。
1.2 数据备份
-
不仅保存目录和文件的当前状态,还能够保存每一个提交过的历史状态。
1.3 版本管理
-
在保存每一个版本的文件信息的时候要做到不保存重复数据,以节约存储空间,提高运行效率。这方面 SVN 采用的是增量式管理的方式,而 Git 采取了文件系统快照的方式。
1.4 权限控制
-
对团队中参与开发的人员进行权限控制。
-
对团队外开发者贡献的代码进行审核——Git 独有。
1.5 历史记录
-
查看修改人、修改时间、修改内容、日志信息。
-
将本地文件恢复到某一个历史状态。
-
分支管理。
-
许开发团队在工作过程中多条生产线同时推进任务,进一步提高效率。
2. Git官网
-
官网地址: Git
3. Git工作流程
代码工作区 ---> 执行git add ---> 暂存区(临时存储)---> 执行git commit ---> 本地库(历史版本)
工作区、暂存区和本地仓库,逻辑上是本地计算机。
-
当我们新建一个文件时,文件位于工作区,处于已修改(modified)状态,表明文件已进行了修改,但还没有提交保存;
-
通过命令 git add 将其添加到暂存区,文件是已暂存(staged)状态,表示把已修改的文件放到下次提交时要保存的清单中;
-
通过命令 git commit将文件放入本地仓库,文件为已提交(commited)状态,表示该文件已经被安全地保存在本地数据库中,到这一步可以说是成功生成了一个新的版本;
-
远程仓库用来将本地仓库上传到网络,实现备份、共享和合作。
三、Git的安装
1. 安装步骤
-
选择安装目录,全部下一步即可。
2. 验证是否安装成功
-
安装完打开Git Bash窗口 。
-
输入git --version 输出版本信息证明安装成功 。
四、Git基础指令
基础指令 (工作区, 暂存区 , 本地仓库)
1.git init : 初始化本地仓库
2.git add:文件名 | git add : 将工作区的修改添加到暂存区
3.git commit -m '描述' : 将暂存区的内容提交到本地仓库中
4.git diff 文件名: 查看工作区文件和本地仓库(版本库)的区别
5.git log : 查看详细日志
git log --pretty=oneline : 展示一行日志
git reflog : 简化日志
6.git reset --hard 局部版本号(完整版本号也行) : 恢复版本
7.git rm 文件名 : 删除文件,将删除的文件添加到暂存区
五、常见的远程仓库
1. Github
Github是目前全球最大的代码托管平台。也是Git官方指定的远程仓库。里面包含了全球很多开源项目。
但是由于Github是国外的服务器,所以在国内(尤其网络不是很好的地方)在进行推送内容或拉取内容时的速度可能不是特别快。
2. Gitee
Gitee 中文名称码云。
是国内目前最大的代码托管平台。号称中国版Github。是由开源中国推出的。
近几年在选择远程仓库时Gitee常作为国内开发者首选。
六、远程仓库操作(以码云为例)
1. 在码云注册账号
2. 创建远程仓库
2.1 注册
首先需要注册一直自己的账号。注册后完成登录。
2.2 创建仓库
点击右上角“+” -》 新建仓库 -》创建一个新的仓库。
2.3 填写仓库信息。
-
仓库名称是必填项。
-
是否开源选择开源。
-
取消勾选“使用Readme文件初始化这个仓库”。
3. 推送到远程
远程仓库的操作:
1.创建远程仓库
1.添加远程仓库地址
如果没有添加会报错
git remote add orgin 地址
1.使用仓库的https协议
1.将本地仓库中的内容推送到远程库中,需要输入远程仓库的用户名,密码
2.出现账号和密码输入错误,再使用时,还会使用错误的账号和密码
控制面板 -> 在搜索框搜索凭据 -> 凭据管理器 -> gitee相关 -> 删除记录
2.使用仓库的SSH协议
1.将本地库中的内容推送到远程库时,不需要输入用户名和密码
2.生成公钥和私钥,将公钥配置在远程仓库中。官方文档有
2.推送到远程仓库的主分支中:
git bush -u origin master
-u 本地分支和远程分支建立关联,建立关联联系后可以使用git push
查看本地分支和远程分支是否存在关联关系
git branch -vv
4. 克隆远程仓库到本地
克隆远程仓库的项目:
git clone https://地址 对于公开仓库允许被克隆,直接克隆
git clone ssh地址 gitee必须配置了本地git的公钥
七、分支操作
1. 分支概念
在版本控制过程中,多个分支可以同时推进,提高开发效率,各个分支互不影响,增加了容错性。
在版本控制过程中,使用多条线同时推进多个任务。每条线成为一个分支。
开发中常见的分支:
1.1 Master
主分支;主要是稳定的版本分支,正式发布的版本都从Master拉。
1.2 Develop
开发分支;更新和变动最频繁的分支,正常情况下开发都是在Develop分支上进行的。
1.3 Release
预发行分支;一般来说,代表一个版本的功能全部开发完成后递交测试,测试出Bug后进行修复的分支。
1.4 Features
功能分支; 其实Features不是一个分支,而是一个分支文件夹。里面包含了每个程序员开发的功能点。Feature开发完成后合入Develop分支。
1.5 HotFix
最希望不会被创建的分支;这个分支的存在是在已经正式上线的版本中,发现了重大Bug进行修复的分支。
2. 分支指令
默认只会创建主分支,可以创建其他分支.
创建了其他的分支,可以实现同时推进,互不影响
1.查看分支: git branch
2.创建分支: git branch 分支名
3.切换分支: git checkout 分支名
4.将本地分支推送到远程: git push origin 本地分支名:远程分支名
5.合并分支: 切换到主分支,合并其他分支. git merge --no-f 分支名
6.删除本地分支: git branch -d 分支名
7.删除远程分支: git push orgin --delete 远程分支名
未完待续
相关文章:

阶段七-GitEE
Git:版本控制软件 Git的优点 1.1 协同修改 多人并行不悖的修改服务器端的同一个文件。 1.2 数据备份 不仅保存目录和文件的当前状态,还能够保存每一个提交过的历史状态。 1.3 版本管理 在保存每一个版本的文件信息的时候要做到不保存重复数据&…...
Redis小记(1)
目录 1.Redis和Mysql的区别 2.Redis常用命令 1.Redis和Mysql的区别 a:mysql和redis的存储方式不同 mysql是关系型数据库,用表来进行存储数据。 redis是通过键值对来存储数据,key使用string来标识,value可以是各种不同的数据结构。 b:mys…...

Flutter windows 环境配置
Flutter windows 环境配置 从零开始,演示flutter环境配置到启动项目,同时支持 vscode 和 android studio 目录 Flutter windows 环境配置一、环境配置1. Flutter SDK2. Android Studio3. JDK4. 拓展安装5. Visual Studio 2022二、项目创建和启动1. vsco…...

odoo17核心概念view5——ir_ui_view.py
这是view系列的第5篇文章,介绍一下view对应的后端文件ir_ui_view.py,它是base模块下的一个文件 位置:odoo\addons\base\models\ir_ui_view.py 该文件一共定义了三个模型 1.1 ir.ui.view.custom 查询数据库这个表是空的,从名字看…...

截断整型提升算数转换
文章目录 🚀前言🚀截断🚀整型提升✈️整型提升是怎样的 🚀算术转换 🚀前言 大家好啊!这里阿辉补一下前面操作符遗漏的地方——截断、整型提升和算数转换 看这一篇要先会前面阿辉讲的数据的存储否则可能看不…...
阿里云 ECS Docker、Docker Compose安装
https://help.aliyun.com/document_detail/51853.html https://docs.docker.com/compose/install/ Centos https://blog.csdn.net/Alen_xiaoxin/article/details/104850553 systemctl enable dockerdocker-compose安装 https://blog.csdn.net/qq465084127/article/details/…...
LeetCode——1276. 不浪费原料的汉堡制作方案
通过万岁!!! 题目,给你两个数tomatoSlices和cheeseSlices,然后每制作一个巨无霸汉堡则消耗4个tomatoSlices和1和cheeseSlices,每制作一个小皇堡则需要消耗2个tomatoSlices和1和cheeseSlices。问给你这两个…...

隆道吴树贵:生成式人工智能在招标采购中的应用
12月22日,由中国招标投标协会主办的招标采购数字发展大会在北京召开,北京隆道网络科技有限公司总裁吴树贵受邀出席大会,并在“招标采购数字化交易创新成果”专题会议上发言,探讨生成式人工智能如何在招标采购业务中落地应用。 本次…...
docker搭建kali及安装oneforall
前期docker的安装这里就不用多说了,直接看后面的代码 安装oneforall 1.安装git和pip3 sudo apt update sudo apt install git python3-pip -y2.克隆项目 git clone https://gitee.com/shmilylty/OneForAll.git3.安装相关依赖 cd OneForAll/ sudo apt install pyt…...

【MySQL】数据库之事务
目录 一、什么是事务 二、事务的ACID是什么? 三、有哪些典型的不一致性问题? 第一种:脏读 第二种:不可重复读 第三种:幻读 第四种:丢失更新 四、隔离级别有哪些? (1…...

AGV|RGV小车RFID传感器CNS-RFID-01/1S的RS232通讯联机方法
CNS-RFID-01/1S广泛应用于AGV小车,搬运机器人,无人叉车等领域,用于定位,驻车等应用,可通过多种通讯方式进行读写操作,支持上位机控制,支持伺服电机,PLC等控制设备联机,本…...

【Python可视化系列】一文教会你绘制美观的热力图(理论+源码)
一、问题 前文相关回顾: 【Python可视化系列】一文彻底教会你绘制美观的折线图(理论源码) 【Python可视化系列】一文教会你绘制美观的柱状图(理论源码) 【Python可视化系列】一文教会你绘制美观的直方图(理…...

百度Apollo五步入门自动驾驶:Dreamview与离线数据包分析(文末赠送apollo周边)
🎬 鸽芷咕:个人主页 🔥 个人专栏:《linux深造日志》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! ⛳️ 粉丝福利活动 ✅参与方式:通过连接报名观看课程,即可免费获取精美周边 ⛳️活动链接…...

为什么IPv6 可以作为低功耗蓝牙的物联网体系结构?
蓝牙40规范引人了低功耗蓝牙(Bluetooth Low Energy,BLE)技术。低牙是一种低能低延成本的无线通信技术。 与传统蓝牙相比,低功耗蓝牙同样使用24GHz频段,但其将信道重新划分为 40个,包含37 个数据信道和3个广播信道(传统蓝牙共使用 79 个信道)低功蓝牙的协…...

GPT每预测一个token就要调用一次模型
问题:下图调用了多少次模型? 不久以前我以为是调用一次 通过看代码是输出多少个token就调用多少次,如图所示: 我理解为分类模型 预测下一个token可以理解为分类模型,类别是vocab的所有token,每一次调用都…...
运维工程师的出路到底在哪里?
1.35岁被称为运维半衰期,主要是因为运维工作的技术栈和工作方式在不断更新和演进。随着新技术的出现和发展,老旧的技术逐渐被淘汰,运维工作也需要不断学习和适应新技术,否则就容易被市场淘汰。 2.要顺利过渡半衰期,运…...
2312clang,基于访问者的前端动作
原文 基于RecursiveASTVisitor的ASTFrontendActions. 创建用RecursiveASTVisitor查找特定名字的CXXRecordDeclAST节点的FrontendAction. 创建FrontendAction 编写基于clang的工具(如Clang插件或基于LibTooling的独立工具)时,常见入口是允许在编译过程中执行用户特定操作的F…...

怎么搭建实时渲染云传输服务器
实时渲染云传输技术方案,在数字孪生、虚拟仿真领域使用越来越多,可能很多想使用该技术方案项目还不知道具体该怎么搭建云传输服务器,具体怎么使用实时云渲染平台系统。点量云小芹将对这两个问题做集中分享。 一、实时渲染服务器怎么搭建&…...
如何在生产环境正确使用Redis
一、在生产环境使用Redis 如果在生产环境使用Redis,需要遵守一定的使用规范,以保障服务稳定、高效。。 1.1、明确Redis集群的服务定位 1、仅适用于缓存场景:Redis定位于高性能缓存服务,强调快速读写和低延迟的特性,…...

LeetCode-环形链表问题
1.环形链表(141) 题目描述: 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统…...

C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...

中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...

消息队列系统设计与实践全解析
文章目录 🚀 消息队列系统设计与实践全解析🔍 一、消息队列选型1.1 业务场景匹配矩阵1.2 吞吐量/延迟/可靠性权衡💡 权衡决策框架 1.3 运维复杂度评估🔧 运维成本降低策略 🏗️ 二、典型架构设计2.1 分布式事务最终一致…...
6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础
第三周 Day 3 🎯 今日目标 理解类(class)和对象(object)的关系学会定义类的属性、方法和构造函数(init)掌握对象的创建与使用初识封装、继承和多态的基本概念(预告) &a…...