git教程
文章目录
- 简介:
- 使用教程:
- (1)安装git:
- (2)设置用户名和邮箱作为标识符:
- (3)建立本地仓库:
- 本地仓库作用:
- (1)将文件添加至暂存区:
- (2)将更改的数据永久添加到本地仓库:
- (3)查看提交日志:
- (4)回退到曾经提交的某一个版本:
- (4)分支:
- 分支的操作:
- (1)创建分支:
- (2)查看分支:
- (3)更改分支名称:
- (4)删除分支:
- 关于分支
- 关于冲突:
- (5)远程仓库:
- 远程仓库的使用:
- (1)给你的本地仓库添加一个远程仓库:
- (2)将本地仓库分支的版本传输到远程仓库的一个分支:
- (3)将远程仓库分支的版本合并到本地仓库的某一个分支的版本:
- (4)将远程仓库的版本克隆到本地仓库(包括每个分支还有分支中的版本):
简介:
git——集中式与分布式版本控制: 与集中式版本控制(如SVN)不同,Git采用分布式版本控制,每个人的电脑上都是一个完整的版本仓库,无需依赖中央服务器,即可在本地进行版本控制和代码管理。
简单来说,你可以创建一个目录文件作为一个仓库,你在这个目录文件中编写的代码可以添加到这个仓库,而每一次添加,这个仓库都会将这次添加的文件和文件中的内容保存放到A处,而你接下来重新修改项目代码时再次进行提交时这个仓库也会保存本次提交的内容放到B处,作为你这个项目的A和B两个版本,由于B是被更改后的A版本,如果这时你想重新回去看A版本的代码,可以通过这个仓库的日志找到A版本存放的地方,然后重新拿出A版本提交时的文件与里面的文件内容。
同时,如果将本地仓库的内容与远程仓库合并,例如一个扫地机器人,由团队协作需要开发下列功能:
扫地
移动
定时
那么,就可以交由三个人来分别开发某一个功能,例如1号开发扫地,那么它将项目写好先保存在本地仓库,然后上传远程仓库,别的队友也能够从远程仓库中获取到他的扫地的代码,如果扫地功能需要与定时功能有联合,那么负责定时功能开发的2号人员就能够根据已经上传到远程仓库的扫地功能代码编写定时扫地的内容,一般开发人员会互相留有接口,那么只需要三人将代码开发好最后上传合并成一个完整的工程代码即可。同时无论是远程仓库还是本地仓库,都保留着每一次提交的文件与文件内容,如果再更改某个文件时发现错误了也能够很好的回退到原来的版本重新开发。
使用教程:
(1)安装git:
下载命令:
sudo apt-get update
sudo apt-get install git
查看版本命令(可以先使用看看是不是已经安装过了):
git --version
(2)设置用户名和邮箱作为标识符:
这个用户名和邮箱跟你的远程仓库没有关系,只是作为提交到远程仓库时的一个提交者标识:
命令:
git config --global user.nam "用户名"
git config --global user.email "邮箱"
命令解释:
1.git config: 这是Git的一个命令,用于读取和写入配置变量,这些变量可以控制Git的各种方面。配置可以在三个不同的级别上进行:系统级(对所有用户生效)、全局级(对当前用户生效)和仓库级(只对当前仓库生效)。
2.–global : 这个选项指定了配置的作用范围。使用–global时,配置将应用于当前用户的所有仓库,即存储在用户主目录下的.gitconfig文件中。如果不使用–global选项,则配置将仅应用于当前仓库,即存储在仓库目录下的.git/config文件中。
(3)建立本地仓库:
命令:
该命令执行后相当于将当前目录作为本地仓库, 会在当前目录下生成一个.git的隐藏目录文件,这个文件包含了 Git 用来追踪和管理版本控制的所有信息,比如提交(commits)、分支(branches)、标签(tags)、钩子(hooks)等。还有本地仓库的配置信息config(远程仓库的URL与本地仓库的信息)
git init
也可以在当前目录文件下重新创建一个新的目录文件然后将该目录文件作为本地仓库,.git隐藏文件也会被创建在该目录下。可以使用 ls -a查看隐藏文件
git init 要创建的目录文件名例如:git init opencv
本地仓库作用:
先需要在当前.git所在的目录下创建一个.txt或者其他类型的文件
(1)将文件添加至暂存区:
命令:
当你执行 git add 命令后,Git 会检查指定文件的更改,并将这些更改的数据(而不是文件内容本身)添加到暂存区中。这意味着,如果你对文件进行了多次更改,Git 会记录这些更改的累积效果。
git add 要添加的文件名.后缀
(2)将更改的数据永久添加到本地仓库:
你可以使用 git commit 命令来创建一个新的提交,将暂存区中的更改永久保存到 Git 的历史记录中。提交时,你可以附加一条提交信息来描述这些更改的目的或内容。执行之后当前的文件会作为一个版本保存在本地库中。
git commit -m "描述更改的内容"
//规范格式:
git commit -m "fix(test):change content"
如果不加-m和后面的描述信息会进入vim编辑器编辑
(3)查看提交日志:
命令:
执行之后终端会显示提交的历史纪录,完成上面git add和git commit就算一次提交,git能够保存每一次提交的版本,如此你能够回到你曾经提交的任一版本
git log
提交日志中会显示
提交的作者 邮箱
提交的日期
提交描述
commit后面的内容就是commit ID可用于之后的回退操作
(4)回退到曾经提交的某一个版本:
回退到某一个版本意味着:
1.工作目录: 会被更新为该版本提交时的文件内容。
2.暂存区: 会被清空或更新为该版本提交时的状态(取决于你使用的命令)。
3.提交历史: 可能会发生变化(如果你使用的是会修改历史的命令,如git reset --hard),也可能会保持不变并创建一个新的提交来撤销之前的更改(如果你使用的是git revert)。
命令: 有好几个不过我推荐使用git revert
git revert commitID
假设我们有一个简单的Git仓库,其中包含三个提交:
想尝试的按照下面这个例子尝试,下面指的添加,就是在你当前仓库目录中添加一个文件(执行了git add 与 git commit)
- 第一个提交(commit 1):添加了一个名为file1.txt的文件,内容为“Hello, World!”。
- 第二个提交(commit 2):修改了file1.txt文件,将内容更改为“Hello, Git!”。
- 第三个提交(commit 3):添加了一个名为file2.txt的文件,内容为“Another file.”。
当前的HEAD指向commit 3,即最新的提交。
现在,我们决定撤销commit 2所做的更改,即恢复file1.txt文件到commit 1时的状态,但保留commit 3的更改。
git revert <commit-2-hash>
/*
<commit-2-hash>就是git log 之后
你要回退的那个版本那一串cimmit后面的字符
*/
发生的变化:
1.新提交的创建: Git会创建一个新的提交(假设为commit 4),这个提交的内容是撤销commit 2的更改。换句话说,commit 4会将file1.txt文件恢复到commit 1时的状态,即内容为“Hello, World!”。
2.提交历史的更新: 提交历史将更新为:commit 1 -> commit 2 -> commit 3 -> commit 4。其中,commit 4是撤销commit 2的新提交。注意,虽然commit 2仍然存在于提交历史中,但它的更改已经被commit 4所撤销。
3.工作目录和暂存区的更新: 工作目录和暂存区将反映commit 4的状态,即file1.txt文件的内容将被恢复到“Hello, World!”,而file2.txt文件仍然保留。
如果使用的是git reset命令那么以上述例子来说,发生的变化就是,file1的内容仍然是Hello GIT,但是file2会被撤销,没有被
创建。
(4)分支:
我的理解是,分支就是两个文件夹:
1.开发一个项目如扫地机器人,我先在dev分支上,也就是工程文件dev中进行编写,当能够实现完整的自动打扫的功能之后我就将dev中的文件或代码复制一份到主分支main,然后让他作为完整的扫地机器人项目代码存在,
2.再之后如果我想添加定时功能,我就在dev工程文件夹下面写一个定时功能,实现之后再将dev工程复制一遍将原来的main文件夹中的文件覆盖实现能扫地,也能定时的功能。而你在dev分支上干的事(提交了哪些文件,做了哪些修改)也会被复制到主分支中。
3.创建仓库时没有特别的指定时,会默认创建一个主分支名为master或者main,要让该分支成为一个有效分支之后才能进行新的分支创建,也就是在该分支下进行一次git add与git commit
创建仓库时没有特别的指定时,会默认创建一个主分支名为master或者main,要让该分支成为一个有效分支之后才能进行新的分支创建,也就是在该分支下进行一次git add与git commit,再之后创建的所有分支都会包含第一次提交的内容,但是再这之后,任何一个分支所作的修改在其他分支是看不到的,包括你在A分支创建的文件和做的文件修改在B分支下是不存在的,只有你将A分支合并到B分支中,这时A中的修改就会被合并到B分支中,例如如果两者有相同的文件1,那么文件1的内容会被合并,如果A中有文件2B中没有,那么合并后B中也会有文件B
注意:
如果你先创建了分支A并做了两次提交:
那么分支A的提交日志中就是:
第一次提交 ——修改文件1
第二次提交——添加一个文件2
这时你去创建一个分支B,然后在A分支中添加一个文件3,则:
分支A的日志:
第一次提交 ——修改文件1
第二次提交——添加一个文件2
第三次提交——添加一个文件3
分支B的日志:
第一次提交 ——修改文件1
第二次提交——添加一个文件2
并且文件3在分支B下是不存在的
分支的操作:
(1)创建分支:
命令:
git init -b 分支名 #创建一个仓库同时创建一个<分支名>的分支
git branch 分支名 #已经有仓库创建分支
(2)查看分支:
命令:
git branch
只有你当前的版本库有东西,才会显示出已有的东西,如果你还没进行任何git add与git commit操作输入查看分支的指令会是啥也没有。
(3)更改分支名称:
命令:
git branch -m <旧分支名称><新分支名称>
(4)删除分支:
命令:
git branch -d 分支名 #删除未已经合并的分支
git branch -D 分支名 #删除未合并的分支,强制删除
(5)切换分支:
命令:
git chekout 分支名
(6)合并分支:
命令:
git merge 要合并的分支名
例如:
当前分支main
git merge dev
如此就会将dev分支的版本与main分支的版本合并
合并时注意:
1.如果分支A中和分支B都有文件1
分支A文件1内容:
111111
22222
分支B文件1内容:
22222
111111
这时如果两个分支合并,会产生冲突,因为它们文件1中的内容都在同一行但内容不同。
2.分支A和分支B中都有文件1,想要合并必须文件1中的内容所在地方不冲突,例如:
分支A文件1:
“12345”
“45678”
分支B文件1:
“12345”
那么如果在分支B中合并分支A,则分支B的文件1内容变成:
“12345”
“45678”
关于分支
1. 我自己尝试了一下,就是第一次创建一个本地仓库,就需要创建一个分支,如果不指定分支,会默认创建一个main或者master的分支,如果没有有效分支是不能进行第二个分支的创建的,而要使一个分支有效就必须进行一次git add与git commit操作,也就是提交第一个版本,
2. 然后之后创建的分支都会有第一个版本的提交记录,也包含该版本的文件与文件内容,但是之后各个分支的提交都是独立的,在没有合并之前,分支A中的提交在分支B中是看不到的,
3. 例如分支A在初始版本文件中添加了一个文件,分支B中是没有这个文件的,相当于两个不同的文件夹,只有刚开始的初始文件是相同的。如下图:
关于冲突:
当你尝试合并两个分支,而这两个分支在同一文件的同一部分都做了修改,Git无法自动决定应该使用哪个版本的修改时,就会产生合并冲突。Git会在冲突的文件中插入特殊的标记来帮助你识别和解决这些冲突。
"Hello world"
<<<<<<< HEAD
"Hello git"
=======
>>>>>>> dev2
(1)“Hello world”: 这是合并之前文件中可能已经存在的内容,或者是在一个分支中被修改后的内容。
(2)<<<<<<< HEAD: 这表示当前HEAD指向的分支(通常是你执行合并操作时所在的分支)中的内容。在这个例子中,HEAD分支中的内容没有显示(因为冲突发生在下一行),但标记指出了冲突的起点。
(3)“Hello git”: 这是另一个分支(在这个例子中是dev2分支)中的修改。Git将dev2分支的内容放在=======之前。
(4)=======: 这是一个分隔符,用于分隔两个分支中冲突的修改。
(4)>>>>>>> dev2: 这表示dev2分支中的修改结束,以及这个冲突标记的终点。
(5)远程仓库:
根据上面的分支介绍,我们如果是团队开发肯定时要在各自的电脑上,而本地仓库想要同步就需要用到远程仓库。
我用的是国内的gitee,也可以用github,最终只要仓库的URL就行
远程仓库其实就是需要一个服务器,然后大家能够通过这个服务器传输文件,而Github与Gitee就是两个能够使用git命令的云盘,相当于大家可以再此建立一个仓库,这个仓库能够被别人访问到。
1.首先按照GitHub或者Gitee的教程创建一个自己的仓库https://gitee.com/help/articles/4120
2.创建的时候会有一个仓库的网址的,如果创建的时候没有看可以进入仓库界面,点击下图所示的克隆/下载
3.点击后下图所示就是你远程仓库的URL(Uniform Resource Locator,统一资源定位符)是一个用于标识互联网上资源位置的字符串。它提供了一种标准化的方式,让用户和程序能够找到并访问互联网上的各种资源,如网页、图片、视频、文件等。
远程仓库的使用:
(1)给你的本地仓库添加一个远程仓库:
这样当你将本地仓库的版本内容提交到远程仓库时,就根据这个地址来,后续可以通过命令修改,也可以通过.git隐藏目录文件下的config文件修改,包括远程仓库的名字
命令:
git remote 远程仓库的URL
git remote https://gitee.com/THECOW_W/opencv.git
(2)将本地仓库分支的版本传输到远程仓库的一个分支:
命令:
git push -u origin main
origin是默认远程仓库名,可以在config文件中修改,不修改也是可以的,main是你要传输的那个仓库的分支的名
(3)将远程仓库分支的版本合并到本地仓库的某一个分支的版本:
(4)将远程仓库的版本克隆到本地仓库(包括每个分支还有分支中的版本):
命令:
git clone 仓库的URL
git clone https://gitee.com/THECOW_W/opencv.git
相关文章:
git教程
文章目录 简介:使用教程:(1)安装git:(2)设置用户名和邮箱作为标识符:(3)建立本地仓库:本地仓库作用:(1)将文件…...
报表工具功能对比:免费易上手的山海鲸报表 vs 庞大用户群体的Tableau
在数据报表与分析领域,随着大数据技术的不断发展和企业数字化转型的深入,市面上涌现出了众多报表工具,为用户提供多元化的选择。对于企业数据分析师、IT人员及管理层来说,选择一款适合自己的报表工具至关重要。本文将从多个角度对…...
鸿蒙原生应用开发及部署:首选华为云,开启HarmonyOS NEXT App新纪元
目录 前言 HarmonyOS NEXT:下一代操作系统的愿景 1、核心特性和优势 2、如何推动应用生态的发展 3、对开发者和用户的影响 华为云服务在鸿蒙原生应用开发中的作用 1、华为云ECS C系列实例 (1)全维度性能升级 (2ÿ…...
CSS之3D转换
三维坐标系 三维坐标系其实就是指立体空间,立体空间是由3个轴共同组成的。 x轴:水平向右注意:x右边是正值,左边是负值 y轴:垂直向下注意:y下面是正值,上面是负值 z轴:垂直屏幕注意:往外面是正值,往里面是负值 3D移动 translat…...
uni-app初学笔记:文件路径与作用
components:可复用的组件pages:页面(可见/不可见)static:静态资源,存放图片视频等 (相当于vue项目的 assets)mainjs:Vue初始化入口文件App.vue:应用配置,用来配置App全局样式以及监听pages.json :配置页面路…...
子组件中$emit和update更新传递变量
vue2.6之后才可以使用update更新,vue2.6以下版本使用input和v-model 需求描述:蒙层上展示弹窗,弹窗点击关闭,需要向父传递关闭的信息 方法1,简便直接传递变量visible(或者不改名isModalVisible也是可以的…...
浅谈Python库之lxml
一、基本介绍 lxml 是一个用 Python 编写的库,它提供了对 XML 和 HTML 文档的解析和操作功能。它使用 C 语言编写的 libxml2 和 libxslt 库作为后端,因此解析速度非常快,并且能够处理大型文档。lxml 支持 XPath 和 XSLT,这使得它在…...
spring boot框架漏洞复现
spring - java开源框架有五种 Spring MVC、SpringBoot、SpringFramework、SpringSecurity、SpringCloud spring boot版本 版本1: 直接就在根下 / 版本2:根下的必须目录 /actuator/ 端口:9093 spring boot搭建 1:直接下载源码打包 2:运行编译好的jar包:actuator-testb…...
IDEA插件CamelCase,快速转变命名格式
在IDEA上大小写转换的快捷键是 CtrlshitU 其它的格式转换的快捷键是 shitaltu 安装方法: file-settings-plugins-在marketplace搜索“CamelCase”-点击安装。 安装成功设置后,重新打开idea 下载完成后 点击 Apply 和OK 此刻就可以选中命名 并使用快捷…...
Elasticsearch中的节点(比如共20个),其中的10个选了一个master,另外10个选了另一个master,怎么办?
大家好,我是锋哥。今天分享关于【Elasticsearch中的节点(比如共20个),其中的10个选了一个master,另外10个选了另一个master,怎么办?】面试题。希望对大家有帮助; Elasticsearch中的节…...
Spring Boot 集成 Knife4j 的 Swagger 文档
在开发微服务应用时,API 文档的生成和维护是非常重要的一环。Swagger 是一个非常流行的 API 文档工具,可以帮助我们自动生成 RESTful API 的文档,并提供了一个友好的界面供开发者测试 API。本文将介绍如何在 Spring Boot 项目中集成 Knife4j …...
C# 创建快捷方式文件和硬链接文件
C# 创建快捷方式文件和硬链接文件 引言什么是快捷方式什么是硬链接文件硬链接与快捷方式不同 实现创建快捷方式文件实现创建硬链接文件小结 引言 什么是快捷方式 平常我们最常window桌面上点击的左下角带小箭头的文件就是快捷方式了,大家都很熟悉它。快捷方式是Wi…...
Linux高阶——1123—服务器基础服务器设备服务器基础能力
目录 1、服务器基础 1、服务器基本概述 2、服务器设计之初解决的问题 网络穿透 网络数据设备间的收发 3、服务器的类型C/S、B/S 2、服务器设备 将自己的服务器软件部署上线 3、代理服务器负载均衡,以及地址绑定方式 4、服务器的基础能力 1、服务器基础 1…...
LabVIEW串口通讯速度
LabVIEW串口通讯能达到的速度 LabVIEW支持高效的串口通讯,通过优化设置,理论上可以实现每次接收一个字节时达到1ms甚至更短的周期。不过,实际性能会受到以下因素的限制: 波特率(Baud Rate):…...
Jmeter中的监听器
3)监听器 1--查看结果树 用途 调试测试计划:查看每个请求的详细信息,帮助调试和修正测试计划。分析响应数据:查看服务器返回的响应数据,验证请求是否成功。检查错误:识别和分析请求失败的原因。 配置步骤…...
缺失的第一个正数(java)
题目描述: 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1: 输入:nums [1,2,0] 输出:3 解释:范围 […...
跨部门文件共享安全:平衡协作与风险的关键策略
在现代企业中,跨部门协作已成为推动业务发展的关键因素。然而,随着信息的自由流动和共享,文件安全风险也随之增加。如何在促进跨部门协作的同时,确保文件共享的安全性,成为了一个亟待解决的问题。 一、明确文件分类与…...
一键AI换脸软件,支持表情控制,唇形同步Facefusion-3.0.0发布!支持N卡和CPU,一键启动包
嗨,小伙伴们!还记得小编之前介绍的FaceFusion 2.6.1吗?今天给大家带来超级exciting的消息 —— FaceFusion 3.0.0闪亮登场啦! 🌟 3.0.0版本更新 🏗️ 全面重构:修复了不少小虫子,运行更稳定,再也不怕突然罢工啦! 😀 Live Portrait功能:新增…...
我要成为算法高手-递归篇
目录 题目1:汉诺塔题目2:合并两个有序链表题目3:反转链表题目4:两两交换链表中的结点题目5:Pow(x,n) 题目1:汉诺塔 面试题 08.06. 汉诺塔问题 - 力扣(LeetCode) 解题思路࿱…...
Git 提交的相对引用
Git 提交的相对引用 在 Git 中,使用 ~ 和 ^ 符号可以帮助你更灵活地引用提交历史中的特定提交。以下是这些符号的具体用法和示例: 1. ~(波浪号) ~ 符号用于指向上一个或多个父提交。它总是沿着第一个父提交的链向上追溯。 HEA…...
国内首家! 阿里云人工智能平台 PAI 通过 ITU 国际标准测评
近日,阿里云人工智能平台 PAI 顺利通过中国信通院组织的 ITU-T AICP-GA(Technical Specification for Artificial Intelligence Cloud Platform:General Architecture)国际标准和《智算工程平台能力要求》国内标准一致性测评&…...
CDAF / PDAF 原理 | PDAF、CDAF 和 LAAF 对比 | 图像清晰度评价指标
注:本文为 “CDAF / PDAF 原理 | PDAF、CDAF 和 LAAF 对比 | 图像清晰度评价指标” 几篇相关文章合辑。 文章中部分超链接、图片异常受引用之前的原文所限。 相机自动对焦原理 TriumphRay 于 2020-01-16 18:59:41 发布 凸透镜成像原理 这一部分大家中学应该就学过…...
小米C++ 面试题及参考答案下(120道面试题覆盖各种类型八股文)
指针和引用的区别?怎么实现的? 指针和引用有以下一些主要区别。 从概念上来说,指针是一个变量,它存储的是另一个变量的地址。可以通过指针来间接访问所指向的变量。例如,我们定义一个整型指针int *p;,它可以指向一个整型变量的内存地址。而引用是一个别名,它必须在定义的…...
WPF异步UI交互功能的实现方法
前面的文章我们提及过,异步UI的基础实现。基本思路主要是开启新的UI线程,并通过VisualTarget将UI线程上的Visual(即RootVisual)连接到主线程上的UI上即可渲染显示。 但是,之前的实现访问是没有交互能力的,视觉树上的UI并不能实现…...
2024 java大厂面试复习总结(一)(持续更新)
10年java程序员,2024年正好35岁,2024年11月公司裁员,记录自己找工作时候复习的一些要点。 java基础 hashCode()与equals()的相关规定 如果两个对象相等,则hashcode一定也是相同的两个对象相等,对两个对象分别调用eq…...
TCP/IP学习笔记
TCP\IP从实际应用的五层结构开始,自顶而下的去分析每一层。 TCP/IP五层架构概述 学术上面是TCP/IP四层架构,OSI/ISO是七层架构,实际中使用的是TCP/IP五层架构。 数据链路层 ICMP数据包分析 Wireshark抓包分析ICMP协议_wireshark抓ping包分析…...
基于IPMI的服务器硬件监控指标解读
在现代化数据中心中,服务器的稳定运行对于保障业务连续性至关重要。为了实时掌握服务器的健康状况,运维团队需要借助高效的监控工具。监控易作为一款功能强大的监控软件,支持使用IPMI(Intelligent Platform Management Interface&…...
相亲交友小程序项目介绍
一、项目背景 在当今快节奏的社会生活中,人们忙于工作和事业,社交圈子相对狭窄,寻找合适的恋爱对象变得愈发困难。相亲交友作为一种传统而有效的社交方式,在现代社会依然有着巨大的需求。我们的相亲交友项目旨在为广大单身人士提…...
Day3 洛谷Day3 1161+1179+1200+1304
零基础洛谷刷题记录 Day1 2024.11.18 Day2 2024.11.25 Day3 2024.11.26 文章目录 零基础洛谷刷题记录1161:题目描述1161:解题代码1161:学习成果1179:题目描述(成功写出)1179:解题代码1179&…...
【通俗理解】ELBO(证据下界)——机器学习中的“情感纽带”
【通俗理解】ELBO(证据下界)——机器学习中的“情感纽带” 关键词提炼 #ELBO #证据下界 #变分推断 #机器学习 #潜变量模型 #KL散度 #期望 #对数似然 第一节:ELBO的类比与核心概念【尽可能通俗】 ELBO,即证据下界,在…...
Vue: computed 计算属性
在Vue中,computed属性是用于计算和返回基于其他响应式数据的值的功能。 适合在模板中使用,因为能够根据依赖的数据自动更新。 当依赖的数据变化时,computed属性会重新计算,并且会将结果缓存,以提高性能。 computed的…...
【自动化Selenium】Python 网页自动化测试脚本(上)
目录 1、Selenium介绍 2、Selenium环境安装 3、创建浏览器、设置、打开 4、打开网页、关闭网页、浏览器 5、浏览器最大化、最小化 6、浏览器的打开位置、尺寸 7、浏览器截图、网页刷新 8、元素定位 9、元素交互操作 10、元素定位 (1)ID定位 &…...
数据库命令规范、数据库基本设计规范
所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 数据库对象的命名要能做到见名识意,并且最后不要超过32个字符 临时库表必…...
php常用伪协议整理
前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文整理php常见的伪协议 php伪协议介绍 直观点,就是php可以识别的协议。 类似于我们访问网站的http协议,我们用浏览器访问我们自己本地文件的file协议等。 php可以识别这些协议…...
Redis与MySQL如何保证数据一致性
Redis与MySQL如何保证数据一致性 简单来说 该场景主要发生在读写并发进行时,才会发生数据不一致。 主要流程就是要么先操作缓存,要么先操作Redis,操作也分修改和删除。 一般修改要执行一系列业务代码,所以一般直接删除成本较低…...
NIO三大组件
现在互联网环境下,分布式系统大相径庭,而分布式系统的根基在于网络编程,而netty恰恰是java领域的网络编程的王者,如果要致力于并发高性能的服务器程序、高性能的客户端程序,必须掌握netty网络编程。 NIO基础 NIO是从ja…...
智能呼叫中心是什么?
智能呼叫中心是什么? 作者:开源智能呼叫中心系统 FreeIPCC,Github地址:https://github.com/lihaiya/freeipcc 智能呼叫中心是指运用人工智能、大数据分析等技术,对来电进行智能分析和处理的客户服务中心。以下是对智能…...
LSTM原理解读与实战
在RNN详解及其实战中,简单讨论了为什么需要RNN这类模型、RNN的具体思路、RNN的简单实现等问题。同时,在文章结尾部分我们提到了RNN存在的梯度消失问题,及之后的一个解决方案:LSTM。因此,本篇文章主要结构如下ÿ…...
24.11.26 神经网络 参数初始化
神经网络 感知神经网络 神经网络(Neural Networks)是一种模拟人脑神经元网络结构的计算模型,用于处理复杂的模式识别、分类和预测等任务 生物学: 人脑可以看做是一个生物神经网络,由众多的神经元连接而成 树突&#…...
51单片机从入门到精通:理论与实践指南(一)
单片机在智能控制领域的应用已非常普遍,发展也很迅猛,学习和使用单片机的人员越来越多。虽然新型微控制器在不断推出,但51单片机价格低廉、易学易用、性能成熟,在家电和工业控制中有一定的应用,而且学好了51单片机&…...
wordpress获取文章总数、分类总数、tag总数等
在制作wordpress模板的时候会要调用网站的文章总数分类总数tag总数等这个数值,如果直接用count查询数据库那就太过分了。好在wordpress内置了一些标签可以直接获取到这些数值,本文整理了一些常用的wordpress网站总数标签。 文章总数 <?php $count_…...
Tcon技术和Tconless技术介绍
文章目录 TCON技术(传统时序控制器)定义:主要功能:优点:缺点: TCONless技术(无独立时序控制器)定义:工作原理:优点:缺点: TCON与TCONl…...
WinFrom调用webapi接口另一个方法及其应用实例
1.调用接口方法 代码如下: public class WebAPI{#region WebAPI调用 public async Task<string> Call_Webapi(string Url, string Json) //url传入的是接口名称,json传入的是接口参数{string responseBody string.Empty; //responseBod…...
上海乐鑫科技一级代理商飞睿科技,ESP32-C61高性价比WiFi6芯片高性能、大容量
在当今快速发展的物联网市场中,无线连接技术的不断进步对智能设备的性能和能效提出了更高要求。为了满足这一需求,乐鑫科技推出了ESP32-C61——一款高性价比的Wi-Fi 6芯片,旨在为用户设备提供更出色的物联网性能,并满足智能设备连…...
【机器学习】数据集合集!
本文将为您介绍经典、热门的数据集,希望对您在选择适合的数据集时有所帮助。 1 privacy 更新时间:2024-11-26 访问地址: GitHub 描述: 此存储库包含 TensorFlow Privacy(一种 Python)的源代码 库,其中包…...
GitLab使用操作v1.0
1.前置条件 Gitlab 项目地址:http://******/req Gitlab账户信息:例如 001/******自己的分支名称:例如 001-master(注:master只有项目创建者有权限更新,我们只能更新自己分支,然后创建合并请求&…...
企业后端多租户管理平台
1 简介 此系统在企业后端管理系统上进行的更改,用于快速开发租户管理平台。项目中详细的功能请查看文章:企业后端系统通用模版_后端模板-CSDN博客 支持多租户,支持多租户切换,支持多租户数据隔离,支持多租户数据同步等…...
【模型学习之路】PyG的使用+基于点的任务
这一篇是关于PyG的基本使用 目录 前言 PyG的数据结构 演示 图的可视化 基于点的任务 任务分析 MLP GCN 前言 对图结构感兴趣的朋友可以学一下常用的有关图结构的库:networkx详细介绍 networkx 库,探讨它的基本功能、如何创建图、操作图以及其常…...
【ubuntu】数学人的环境搭建
Python 语言环境 python 的 pip 第三方库管理 sudo apt install python3-pippython 的 idle 界面 sudo apt install idle3R 语言环境 sudo apt install r-cran-zoo### RStudio 界面 ubuntu sudo snap install rstudio --classicJulia 语言环境 sudo snap install julia --…...
Android 常用命令和工具解析之Trace相关
目录 1、Perfetto基本用法 1.1 perfetto抓取命令 1.2 Perfetto主界面 1.3 Perfetto常用技巧 1.3.1 CPU的运行状态 1.3.2 CPU的频率 1.3.3 CPU的所有任务 1.3.4 判断是否低内存 1.3.5 CPU的负载计算 1.3.6 查看某进程是否运行在大核 1.3.7 CPU的大核占用率计算 2、应…...