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

一个空间放两个网站/网络营销案例成功案例

一个空间放两个网站,网络营销案例成功案例,wordpress 安装量,少儿编程加盟哪个品牌好Git基础入门 Git是一个分布式 版本管理系统,用于跟踪文件的变化和协同开发。 版本管理:理解成档案馆,记录开发阶段各个版本 分布式&集中式 分布式每个人都有一个档案馆,集中式只有一个档案馆。分布式每人可以管理自己的档案…

Git基础入门

Git是一个分布式 版本管理系统,用于跟踪文件的变化和协同开发。
版本管理:理解成档案馆,记录开发阶段各个版本

分布式&集中式
分布式每个人都有一个档案馆,集中式只有一个档案馆。分布式每人可以管理自己的档案馆,当自己觉得代码完成,可以提交自己的档案馆与他人的进行合并

github、gitlab、gitee都是基于git工具做的托管平台。

1.安装与配置

1.1 下载与安装

下载网址:https://git-scm.com/download/

安装
window可以默认安装
linux:sudo apt-get install git

Microsoft提供的安装教程

1.2配置

打开终端window需要右键打开git bush输入命令

MAC和linux可以通过终端直接输入命令
$ git config --global user.name “你的昵称”
$ git config --global user.email 邮箱@example.com

注:配置只是说明性的,做一个标记并不等于之后的注册与登陆。

1.3 GUI

常用git gui可以见git官网
推荐:[Gitkraken]、[SourceTree]、[TortoiseGit]

2. git命令

2.1 命令总览

git bush输入命令行git

start a working area (see also: git help tutorial)clone             Clone a repository into a new directoryinit              Create an empty Git repository or reinitialize an existing onework on the current change (see also: git help everyday)add               Add file contents to the indexmv                Move or rename a file, a directory, or a symlinkrestore           Restore working tree filesrm                Remove files from the working tree and from the indexsparse-checkout   Initialize and modify the sparse-checkoutexamine the history and state (see also: git help revisions)bisect            Use binary search to find the commit that introduced a bugdiff              Show changes between commits, commit and working tree, etcgrep              Print lines matching a patternlog               Show commit logsshow              Show various types of objectsstatus            Show the working tree statusgrow, mark and tweak your common historybranch            List, create, or delete branchescommit            Record changes to the repositorymerge             Join two or more development histories togetherrebase            Reapply commits on top of another base tipreset             Reset current HEAD to the specified stateswitch            Switch branchestag               Create, list, delete or verify a tag object signed with GPGcollaborate (see also: git help workflows)fetch             Download objects and refs from another repositorypull              Fetch from and integrate with another repository or a local branchpush              Update remote refs along with associated objects

2.2常用命令

2.2.1 帮助命令

命令作用
git help [command]帮助命令

2.2.2 创建仓库

命令作用
git init创建⼀个git本地仓库,⽣成⼀个.git⽬录,其他⽬录不变
git clone拷⻉⼀份远程仓库(类似 svn checkout)

2.2.3 修改和提交

命令作用
git status查看本地仓库当前的状态,显⽰有变更的⽂件
git add添加⽂件到本地仓库
git commit提交暂存区到本地仓库
git rm删除⼯作区⽂件
git mv移动或重命名⼯作区⽂件
git diff⽐较⽂件的不同
git reset回退版本

2.2.4 提交日志

命令作用
git log查看历史提交记录
git reflog看所有分⽀的所有操作记录(包括提交、回退、已删除的提交操作记录等)

2.2.5 分支管理

命令作用
git checkout切换或者新建分⽀
git merge合并分⽀
git rebase变基
git branch分支管理

2.2.6 远程管理

命令作用
git remote远程仓库操作
git fetch从远程获取代码库
git pull下载远程代码并合并
git push上传远程代码并合并

2.2.7 标签

命令作用
git tag管理标签

3.文件与提交

3.1 git原理

Workspace:⼯作区,就是在电脑能看到的⽬录
Index / Stage:暂存区,存放在.git⽬录下的index⽂件中
Repository:仓库区(或本地仓库),⼯作区有⼀个隐藏⽬录 .git,这个不算⼯作区,⽽是 Git 的版本库
Remote:远程仓库,著名的如github和gitee
git原理.png

3.2本地仓库

新建git仓库时文件处于未跟踪状态(clone的代码仓库里文件处于未修改状态),可以通过git add .将文件夹下所有文件添加至暂存区,再通过git commit -m "this is first submit"(“引号内可自定义”)提交至仓库区,此时文件处于已追踪未修改的的状态。后续修改文件都会被git追踪,修改完成后重复git addgit commit
git文件追踪.png

3.2 撤销提交

git reset head~ --soft命令,但是无法撤销第一次提交
git reset三个参数--soft --mix hard的区别

工作区暂存区
–soft保留保留
–mix保留丢弃
–hard丢弃丢弃

查看暂存区文件指令git ls_files

3.3远程仓库

3.3.1 添加远程仓库

git remote add origin https://xxxxxxxx
推送本地代码git push origin master

3.3.2 SSH

github ssh配置参考
在实际开发过程中会因为开发新功能、修复bug或者多人协同开发需要创建分支。

4.分支

4.1 branch

git branch创建分支,但是没有切换分支
git switch切换分支,在git -v2.23版本后支持。之前版本可以使用git checkout命令切换分支,在分支名和文件名一样时git checkout存在歧义,会默认切换分支。
在这里插入图片描述

4.2 merge

git merge xxx将xxx分支内容的更改合并到当前分支上。
例如创建两个分支,master分支存main.txt,dev分支存dev.txt文件,当我们需要将dev分支合并到master分支时,需要确保当前分支是master分支可以使用git switch master切换当前分支,执行git merge dev将dev分支上内容合并到主分支上,如下图所示:
`
**加粗样式**

4.3 rebase

git rebase xxx将xxx分支内容的更改变基到当前分支上。以下图分支说明
在这里插入图片描述

图4.1 例程

变基指令会先寻找分支的祖先节点,例程中是main:3节点,若当前分支是master分支,执行git rebase dev则会将当前分支的mian:4 节点移到dev分支的后面,如下图所示:
在这里插入图片描述

图4.2 git rebase dev后状态

若当前分支是dev分支,执行git rebase master则会将当前分支的dev:1 dev:2 节点移到master分支的后面,如下图所示。

在这里插入图片描述

图4.3 git rebase master后状态

rebase会导致篡改历史,图4.3为例dev:1的基变成了main:4。在rebase前图4.1所示,dev:1的基是main:3。

4.3 merge VS rebase

mergerebase
优点不会破坏历史,方便回溯与查看不新增提交记录,形成线性历史
缺点会产生额外提交节点,分支图复杂会改变提交历史,改变branch out节点

4.3分支冲突

当两个分支进行不兼容操作时则会产生分支冲突。例如:若master分支和feat分支都对同一个文件的同一行进行修改。
step1:先新建一个feat分支然后修改main1.txt的内容,如图所示:(图片后续切回去截的)
在这里插入图片描述

step2:然后切回master分支,刚刚的修改内容消失,因为切回master最后状态,修改同一行内容,然后提交,结果如图。
在这里插入图片描述

step3:当我们执行代码合并时则会显示分支冲突
在这里插入图片描述

step4:使用git diff命令查看具体冲突。👉图也显示文件中显示了具体冲突。
在这里插入图片描述
step 5:删除<<<<<<< ======= >>>>>>> feat1,修改冲突
在这里插入图片描述
step 6:再执行git add .git commit命令完成分支合并
在这里插入图片描述

总结:手动解决分支冲突:使用git diff命令查找冲突文件,选择保留原有或者变更代码。修改后执行git add保存变更文件,再执行git merge或者git rebase --continue操作继续合并代码。

借助第三方工具提供UI界面:
可以二选一或者两个都选择。
在这里插入图片描述
然后写入commit点击提交按钮即可,这比手动修改便捷一些。
在这里插入图片描述

终止合并或者变基:
执行git merge --abort或者git rebase --abort取消合并。

5.git提交规范

常见的提交规范叫做"Conventional Commits"
消息结构:

每个提交消息包含一个简短的提交类型(type),可选的作用域(scope)以及详细的提交描述(description)。
各部分之间用冒号(:)分隔,细节描述与前面的部分用空格分隔。
例如:feat(user): add login functionality

提交类型(type):

feat: 新功能(feature)
fix: 修复问题(bug fix)
docs: 文档更新
style: 代码风格调整,不涉及功能性变动
refactor: 重构代码
test: 添加或修改测试代码
chore: 其他不涉及代码修改的任务

作用域(scope)(可选):
表示变更的范围或影响的组件/模块。可以是文件路径、模块名、功能域等。

提交描述(description):
提供详细的提交说明,描述变更的具体内容。

示例:

feat(user): add login functionality- Added login form and validation
- Implemented authentication API integration
- Updated user profile page

5.1工作流: gitflow模型

git分支.png
master:可直接发布生产的分支。只接受hotfix和release的请求合并,不允许直接修改。(主要分支)
hot fixes:解决线上问题,修复后合并回main分支。命名规则 hotfix-#issueid-desc。
release:版本发布分支,永久分支用于发布前测试和验证。
develop:开发分支。(主要分支)
feature:功能分支,从开发分支分离开发新功能。命名规则:feature-pdbus-function

适用与开发水平适中有一定开发流程和规范的团队。

5.2 工作流:github flow模型

pPJh0H0.png
master:长期存在的主分支,主分支上代码可以直接发布生产,禁止团队成员直接在主分支上提交
featurn:团队成员在feature上开发,结束后提交合并,由代码功能评审团队评审后合并到master分支。

参考

GeekHour
30分钟弄懂所有工作Git必备操作 / Git 入门教程

附录1:GIT与SVN

来源chatgpt
Git和SVN是两种常用的版本控制系统,用于管理项目的源代码和跟踪文件的变化。下面是Git和SVN之间的一些区别:

分布式 vs 集中式:Git是一种分布式版本控制系统,每个开发者都可以拥有完整的代码仓库副本,并且可以在不联网的情况下进行提交和查看历史记录。SVN是一种集中式版本控制系统,所有代码都存储在中央仓库中,开发者需要联网才能进行提交和查看历史记录。

分支和合并:Git具有强大的分支和合并功能,可以轻松创建和管理多个分支,用于同时进行多个功能的开发或修复。Git的分支操作非常快速和轻量级。SVN也支持分支和合并,但相对复杂和耗时。

历史记录:Git的历史记录是基于文件内容的快照,每次提交都会创建一个新的快照。SVN的历史记录是基于文件的差异,每次提交都会记录文件变化的差异。因此,在Git中查看历史记录更快。

版本号:Git使用SHA-1哈希作为版本号,确保每个版本都具有唯一的标识符。SVN使用递增的版本号,例如1、2、3等。

分布式开发:由于Git是分布式的,开发者可以在本地进行提交和分支操作,而不受中央服务器的限制。这在团队分散和无网络连接的情况下非常有用。SVN在没有网络连接时,无法进行提交和分支操作。

冲突解决:Git具有更强大的冲突解决功能,开发者可以手动解决冲突并进行提交。SVN的冲突解决相对较弱,较常见的情况是手动编辑冲突文件并使用特定命令解决。

需要注意的是,Git和SVN适用于不同的项目和团队,选择哪种版本控制系统取决于具体需求和团队偏好。 Git更适合分布式开发、速度快、分支管理灵活等场景,而SVN适合集中式开发、简单易用等场景。

相关文章:

git 基础入门

Git基础入门 Git是一个分布式 版本管理系统&#xff0c;用于跟踪文件的变化和协同开发。 版本管理&#xff1a;理解成档案馆&#xff0c;记录开发阶段各个版本 分布式&集中式 分布式每个人都有一个档案馆&#xff0c;集中式只有一个档案馆。分布式每人可以管理自己的档案…...

openssl 生成自签名证书

1、openssl生成CA根证书 1.1、生成CA私钥 openssl genrsa -out root_ca.key 2048 注意&#xff1a;私钥必须妥善保管&#xff0c;既不能丢失&#xff0c;也不能泄露。如果发生丢失和泄露&#xff0c;必须马上重新 生成&#xff0c;以使旧的证书失效。 1.2、通过ca私钥生成pem格…...

微服务dubbo和nexus

微服务是一种软件开发架构风格&#xff0c;它将一个应用程序拆分成一组小型、独立的服务&#xff0c;每个服务都可以独立部署、管理和扩展。每个服务都可以通过轻量级的通信机制&#xff08;通常是 HTTP/REST 或消息队列&#xff09;相互通信。微服务架构追求高内聚、低耦合&am…...

uView1.0的Upload组件上传图片

<template><u-uploadref"uUpload":file-list"fileList"accept"image/jpeg,image/png" //允许选择图片文件:sizeType"sizeType":max-size"2 * 1024 * 1024" //限制上传的图片文件最大为 2Moversize"over…...

【LeetCode题目详解】第九章 动态规划part03 343. 整数拆分 96.不同的二叉搜索树 (day41补)

本文章代码以c为例&#xff01; 一、力扣第343题&#xff1a;整数拆分 题目&#xff1a; 给定一个正整数 n &#xff0c;将其拆分为 k 个 正整数 的和&#xff08; k > 2 &#xff09;&#xff0c;并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 示例 1: 输…...

半导体制造常用软件工具总结

半导体制造常用软件工具总结 CIM&#xff1a;Computer Integrated Manufacturing 设备自动化&#xff0c;总称MES&#xff1a;Manufacturing Execution System 制造执行系统EAP&#xff1a;Equipment Automation Programming 设备自动化&#xff0c;是MES与设备的桥梁APC&…...

基于Python的IOS自动化测试环境搭建

文章目录 一、测试架构介绍1.1 WebDriverAgent原理分析1.2 tidevice原理分析二、环境安装2.1 iOS 设备安装 WebDriverAgent2.2 安装iTunes2.3 安装tidevice2.4 安装facebook-wda自动化三、操作流程四、Weditor的安装和使用一、测试架构介绍 以下为测试架构原理图 手机端的WDA…...

技术领导力实战笔记25

25&#xff5c;用心做好“鼓励式”管理 激发正能量 授权 分工作&#xff1a; 老人干新事&#xff0c;新人干老事&#xff0c;强者干难事&#xff0c;弱者干细事 新人干老事 所谓新人&#xff0c;是对业务产品不了解&#xff0c;对工作流程不清晰的岗位新人。对于新人来说&…...

设计模式-职责链+反射

文章目录 前言简单版本的职责链加反射职责链反射思路过程总结 前言 最近学习设计模式对于职责链的学习有了一些深入的了解故此有了这篇博客 简单版本的职责链加反射 职责链模式&#xff08;Chain of Responsibility Pattern&#xff09;和反射&#xff08;Reflection&#x…...

Middleware ❀ Kafka功能与使用详解

文章目录 1. 概述1.1. 消息队列1.2. 应用场景1.3. 工作模式1.4. 基础结构1.4.1. 结构组件1.4.2. 数据同步1.4.3. ACK机制1.4.4. 分区机制1.4.4.1. 使用Partition Key写入1.4.4.2. 轮询写入 - 默认规则1.4.4.3. 指定Partition写入 1.4.5. Offset偏移量1.4.5.1. 消息顺序性1.4.5.…...

python3.11教程1:python基础语法、程序控制、函数

文章目录 一、Python简介1.1 为什么学习python1.2 python安装与配置1.3 python解释器1.4 命令行参数1.4.1 sys.argv变量1.4.2 -c和-m选项 1.5 解释器的运行环境1.5.1 编码格式1.5.2 编码声明 二、Python基础语法2.1 行结构2.2 变量&#xff08;标识符&#xff09;2.3 字节串2.4…...

【C++】关于using namepace xxx 使用命名空间和冲突

官方定义 namespace是指 标识符的各种可见范围。命名空间用关键字namespace来定义。 命名空间是C的一种机制&#xff0c;用来把单个标识符下的大量有逻辑联系的程序实体组合到一起。此标识符作为此组群的名字。 基本使用 编译及执行命令&#xff1a; g test.cpp -o test ./…...

Linux常用命令——cupsenable命令

在线Linux命令查询工具 cupsenable 启动指定的打印机 补充说明 cupsenable命令用于启动指定的打印机。 语法 cupsenable(选项)(参数)选项 -E&#xff1a;当连接到服务器时强制使用加密&#xff1b; -U&#xff1a;指定连接服务器时使用的用户名&#xff1b; -u&#xff…...

基于Stable Diffusion的AIGC服饰穿搭实践

本文主要介绍了基于Stable Diffusion技术的虚拟穿搭试衣的研究探索工作。文章展示了使用LoRA、ControlNet、Inpainting、SAM等工具的方法和处理流程&#xff0c;并陈述了部分目前的实践结果。通过阅读这篇文章&#xff0c;读者可以了解到如何运用Stable Diffusion进行实际操作&…...

【 ARMv9 Cluster BUS QoS 配置】

文章目录 ARM Cluster QoS ARM Cluster QoS QoS&#xff08;Quality of Service&#xff0c;服务质量&#xff09;在 ARM 架构中&#xff0c;主要指的是一种机制&#xff0c;它可以控制和管理系统资源&#xff08;如内存、总线带宽等&#xff09;的使用&#xff0c;以满足各种…...

简单了解网络基本概念

目录 一、网络含义 二、什么是以太网&#xff1f; 三、网络分类 四、网络架构 五、数据传输方式 六、双工模式 一、网络含义 在实际生活中我们用传输介质把独立的终端设备相互连接起来就构成了网络。 二、什么是以太网&#xff1f; 以太网是一种网络通信协议标准&#…...

网络安全知识库

0x00 前言 本篇用来整理所有的零散的知识&#xff0c;作为一个技能树或者技能表来进行引导 CTF 加解密合集CTF Web合集 0x01 Http 1.http头 1.1 本地访问识别 如何伪造http头&#xff0c;让后端认为是本地访问...

无涯教程-JavaScript - FLOOR函数

描述 FLOOR函数将数字向下舍入为零,直到最接近的有效倍数。 语法 FLOOR (number, significance)争论 Argument描述Required/OptionalNumberThe numeric value you want to round.RequiredSignificanceThe multiple to which you want to round.Required Notes 如果数字的符…...

【LeetCode-中等题】146. LRU 缓存

文章目录 题目方法一&#xff1a;直接继承LinkedHashMap调用api方法二&#xff1a;自定义LinkedHashMap HashMap ListNode LinkedHashMap 题目 LRU缓存是什么&#xff1a;LRU缓存机制&#xff0c;你想知道的这里都有 实现 LRU 缓存算法 方法一&#xff1a;直接继承Linked…...

表白墙程序

目录 一、页面代码部分 二、设计程序 二、实现 doPost​编辑 三、实现 doGet 四、前端代码部分 五、使用数据库存储数据 一、页面代码部分 在之前的一篇博客中&#xff0c;已经写过了表白墙的页面代码实现&#xff0c;这里就不再重复了 页面代码如下&#xff1a; <!…...

git 本地仓库关联到远程仓库

将本地仓库关联到远程仓库 方式一&#xff1a;远程仓库没有文件 第一步&#xff1a; git init&#xff08;初始化git仓库&#xff09; 第二步&#xff1a; git remote add 地址&#xff08;设置remote地址&#xff09; 第三步&#xff1a; git add . &#xff08;将所有变…...

Introducing Language Guidance in Prompt-based Continual Learning

本文是LLM系列文章&#xff0c;针对《Introducing Language Guidance in Prompt-based Continual Learning》的翻译。 基于提示的持续学习中引入语言指导 摘要1 引言2 相关工作3 背景4 基于提示的持续学习语言指导5 实验6 结论 摘要 持续学习旨在学习一系列任务的单一模型&am…...

Matlab(数值微积分)

目录 1.多项式微分与积分 1.1 微分 1.2 多项式微分 1.3 如何正确的使用Matlab? 1.3.1 Matlab表达多项式 1.3.2 polyval() 多项式求值 1.3.3 polyder()多项式微分 1.4 多项式积分 1.4.1 如何正确表达 1.4.2 polyint() 多项式积分 2.数值的微分与积分 2.1 数值微分 2…...

【数据结构回顾】

数据结构回顾 一、单链表二、单循环链表 一、单链表 #include <stdio.h> #include <stdlib.h>typedef struct Node {int data;Node *next; }Node;Node* initList() {Node *list (Node*)malloc(sizeof(Node));list->data 0;list->next NULL;return list; }…...

QT创建可移动点类

效果如图所示&#xff1a; 创建新类MovablePoint&#xff0c;继承自QWidget. MovablePoint头文件: #ifndef MOVABLEPOINT_H #define MOVABLEPOINT_H#include <QWidget> #include <QPainter> #include <QPaintEvent> #include <QStyleOption> #includ…...

Flutter启动页

效果图 import dart:async; import package:flutter/cupertino.dart; import package:flutter/material.dart; import jumpPage.dart;class TransitPage extends StatefulWidget {const TransitPage({super.key});overrideState<TransitPage> createState() > _Trans…...

读word模板批量生成制式文件

文章目录 1、Maven依赖2、.docx或.doc格式的word模板准备3、读word模板&#xff0c;批量替换代码域&#xff0c;生成文件&#xff0c;demo4、结果展示 1、Maven依赖 <dependency><groupId>fr.opensagres.xdocreport</groupId><artifactId>fr.opensagre…...

Node.js crypto模块 加密算法

背景 微信小程序调用飞蛾热敏纸打印机&#xff0c;需要进行参数sig签名校验&#xff0c;使用的是sha1进行加密 // 通过crypto.createHash()函数&#xff0c;创建一个hash实例&#xff0c;但是需要调用md5&#xff0c;sha1&#xff0c;sha256&#xff0c;sha512算法来实现实例的…...

Win11 避坑安装WSL2 Ubuntu22.04

开始之前以管理员身份打开 PowerShell 启用适用于 Linux 的 Windows 子系统 需要先启用“适用于 Linux 的 Windows 子系统”可选功能&#xff0c;然后才能在 Windows 上安装 Linux 分发。 PowerShell然后输入以下命令&#xff1a; dism.exe /online /enable-feature /featur…...

ESP8266+继电器+MQTT+VUE 实现远程开关灯

超详细教程 – ESP8266继电器MQTTVUE 实现远程开关灯 超详细教程 – ESP8266继电器MQTTVUE 实现远程开关灯 接线图 NC&#xff08;通常闭合&#xff09;与COM&#xff08;公共&#xff09;、NO&#xff08;通常开放&#xff09;与COM 是继电器引脚的不同配置&#xff0c;用于不…...