Git全套命令使用
日升时奋斗,日落时自省
目录
1、Git安装
1.1、创建git本地仓库
1.2、配置Git
1.3、认识Git内部区分
2、Git应用操作
2.1、添加文件
2.2、查看日志
2.3、查看修改信息
2.4、查看添加信息
3、版本回退
4、撤销修改
4.1、工作区撤销
4.2、已经add,但没有commit
4.3、已经add,也commit
4.4、误删文件
4.4.1、删除工作区文件
4.4.2、删除版本库中的文件
5、分支管理
5.1、创建分支
5.2、分支切换
5.3、合并分支
5.4、删除分支
5.5、合并冲突
5.6、分支管理策略
5.6.1、分支策略
5.7、bug分支
6、远程操作
6.1、创建远程仓库
6.2、克隆远程仓库
6.3、向远程仓库推送
6.4、拉取远程仓库
6.5、配置Git
6.5.1、忽略特殊文件
7、标签管理
7.1、创建标签
7.2、删除标签
7.3、标签推送到远程
8、扩展
8.1、拉取远程仓库
8.2、删除远程仓库
注:本文图片较多,比较基础,耐心观看,如果内容有问题请留言,我尽快回复
当前分为以下三个版本的内容(还有一个没有列举出来:分布式版本控制系统)
Git版本管理:自由进⾏版本回退、撤销、修改等Git操作⽅式
Git分⽀管理:从分⽀创建,切换,合并,删除的整个⽣命周期,灵活进⾏各种场景下的分⽀管理
Git远程仓库与本地仓库:结合版本管理与分⽀管理,做到基于分⽀级的个⼈级开发
每次甲方可能会让我们乙方改多次版本,那我们就每次版本都会有所保存,以及修改内容的查询
Git就是为了解决版本控制;
1、Git安装
Linux系统大多使用两种centos和Ubuntu
(1)centos
可以先看自己的linux服务器上是否装有git
输入命令:git
显示:command not found
出现像上的结果,那就是linux没有安装git
安装git命令:yum -y install git
安装好后,可以产看安装版本:
查看版本命令:git --version
(2)Ubuntu
可以先看自己的linux服务器上是否装有git
输入命令:git
显示:command ‘git’ not found,but can be installed with
安装git: apt-get install git -y
查看版本:git --version
1.1、创建git本地仓库
仓库是进行版本控制的一个文件目录,所以使用过giteee的友友们都是在一个文件夹中创建一个仓库
这里我们先创建文件夹,我在root目录下创建一个gicode文件目录
创建目录命令:mkdir gitcode
其实刚创建的文件是看不见的,查看后也是空空如也
创建一个Git的本地仓库 命令:git init
.git目录是Git用来跟踪管理仓库的这里面的内容不要手动修改,修改乱了,就会破坏仓库
想查看git中详细内容: 我们这里使用命令:tree -a (需要安装tree)
1.2、配置Git
当安装Git后首先要做的事情设置你的用户名称,和e-mail地址,配置是连接你自己要连接的仓库的账号(此处就可以拿gitee中的用户名和邮箱进行连接操作)
修改用户名命令:git config [--global] user.name "输入你的用户名"
修改email命令:git config [--global] user.email "输入你的email"
查看的仓库详细信息命令:git config -l
注:这里的--global加上是针对所有仓库,都能看见,如果不加当前设置只是针对当前仓库,创建仓库也不一定就是这一个绑定的仓库,还会有其他的,所以这里看着自己的需求
1.3、认识Git内部区分
区域分为三个区域:工作区、暂存区、版本库
首先概念上理解:
工作区:在电脑上要写代码或者文件的目录
暂存区:英文叫做stage或 index 一般存放在.git目录下的index文件中,暂存区也叫做索引
版本库:又名仓库,英文名repository,工作区有一个隐藏目录.git 它不算工作区,而是Git版本库,这个版本库里面的所有文件都可以被Git管理,追踪历史,或者再将来某个时刻可以"还原"
注:HEAD是一个指针,它指向当前所在的分支。每次提交都会创建一个新的commit对象,这个对象包含了这次提交的所有更改。HEAD指针总是指向最新的commit对象,也就是当前所在的分支的最新提交
工作区和版本库库是分开的,但是都在一个目录下,通过新建或粘贴目录的文件,并不能称为向仓库新增文件,仅仅是工作区新增文件,必须通过使用git add 和 git commit命令才能将文件添加到仓库中进行管理
2、Git应用操作
2.1、添加文件
演示添加一个ReadMe文件,先在工作区vim ReadMe 写一个文件内容
添加文件到暂存区 :git add [file1] [file2] [file3]...
添加目录到暂存区: git add [dir]
从暂存区提交到本地库中:git commit -m "辅助信息"
注:提交选项 -m 表示的就是做一个提交信息,之后方便我们查看日志(log)的时候能知道对于这个文件是干什么的
(1)针对单个文件进行操作上传
(2)针对多个文件进行上传操作
注:首先我们要工作区进行文件创建或者上传项目源码,才能进git操作
2.2、查看日志
查看日志文件:git log
如果只需要显示提交码:
简介显示命令: git log --pretty=oneline
显示成一行显示,不在显示用户名和 邮箱其实主要是针对提交码
如果提交多次或者很久没有进行查看,不知道当前最新提交文件是那个,通过HEAD指针进行操作
注:通过HEAD指针找到最近提交的位置,查看位置获得提交码
object主要用于存储分支对应的提交记录。当您创建一个新的分支时,Git会将该分支的提交记录存储在.git/objects目录下。当您切换到另一个分支时,Git会将该分支的提交记录从.git/objects目录下移动到相应的目录中
使用命令:ls .git/objects
推荐在linux系统上安装一个tree就能实现树形结构展示
2.3、查看修改信息
我们铜鼓日志log看到了对应很长一个字符串(有数字又字符)这就是每次提交的版本号,我们能根据当前版本号知道针对这个文件都进行了那些操作
查看修改信息命令:git cat-file -p 版本号
注:这里的版本号进行复制就行了,不需要手敲,每次查看日志打印,或看最近一次的日志就是使用HEAD指针进行查询
先通过查看日志找到需要的版本号:git log
通过版本号查询相关信息:git cat-file -p 版本号
再次查找这里的有tree 对应的版本号 就是针对所有文件展示的版本号
再次使用命令:git cat-file -p 版本号(tree对应的版本号)
2.4、查看添加信息
本地仓库目录有文件进行修改,但是没有不知道有没有进行添加,当前查看使用
查看添加信息:git status
最后这里友友们自行提交即可
这里还能查看修改那些内容在没有git add的时候 使用命令:git diff 文件名
3、版本回退
git回退是针对版本控制的
版本回退命令:git reset [--soft | --mixed | --hard] [HEAD]
[--soft | --mixed | --hard]:只能选择其一
--soft:参数对于工作区和暂存区的内容不变,只是将版本库回退到某个指定的版本
--mixed:是默认选项,使用时可以不用带该参数,将暂存区的内容回退为指定提交版本内容,工作区文件保持不变
--hard:参数将暂存区与工作区都回退到指定版本,切忌工作区有提交的代码不要使用这个命令,因为工作区会回滚,提交代码也就没有了,所以--hard使用一定要谨慎使用
这里演示--hard 对应版本回退:
先准备前置操作:添加两个版本,进行版本回退
开始进行回退:
如果真的回退有问题,在一定条件下是可以在找回来了,但是如果太多指令过去了,就可能真的找不到了
挽救命令:git reflog
深度理解版本维护:
4、撤销修改
4.1、工作区撤销
在工作区就是本地文件内容没有进行add,可以自行进行修改,添加和修改无非就是删减代码
但是如果已经添加了很多代码怎么办,这里可以使用 命令:git diff 文件名
能够产看你添加了那些代码
清楚工作区的修改:工作区回退命令:git checkout -- 文件名
4.2、已经add,但没有commit
4.3、已经add,也commit
4.4、误删文件
演示思路:先删除文件--》git status进行检查--》文件确实删除了--》挽救文件--》
4.4.1、删除工作区文件
涉及找回命令:git checkout -- 误删工作区的文件名
4.4.2、删除版本库中的文件
前面展示的只是删除工作区上的文件,但是并没有完全删除,这里需要的是删除整个文件,包括仓库中的文件
使用仓库删除命令:git rm 仓库文件名
进行提交删除命令:git commit -m "delete"
5、分支管理
直接上图:进行分支理解;
在版本回退⾥,你已经知道,每次提交,Git都把它们串成⼀条时间线,这条时间线就可以理解为是⼀个分⽀。截⽌到⽬前,只有⼀条时间线,在Git⾥,这个分⽀叫主分⽀,即master分⽀
5.1、创建分支
Git支持我们查看或者创建其他分支,这里演示创建一个dev分支,对应的命令为:
查看分支:git branch
创建分支:git branch dev
注:*表示的当前所在的分支,这里master就是我们当前正在使用的分支,所以master前面就有一个*(*就是HEAD指针指向位置)
分支存储在路径:.git/refs/heads
也可以查看版本号路径:.git/refs/heads/*
当前分支图如下,dev是刚刚创建一个的分支路径,但是不是提交路径所以当前HEAD是不会改变的
5.2、分支切换
切换分支命令:git checkout 分支名(是的,这里再一次看见了checkout 作用很多)
*在那个分支前面当前就说明是操作那个分支 (说明这里切换成功)
这里再次修改文件操作ReadMe 看看有什么区别
注:放心dev分支上的内容是一点没有少,因为这两个压根不是一起的
dev分支经过一次提交了,此时HEAD指针是在哪呢(没错就是在dev分支新提交的ReadMe上)
5.3、合并分支
master分支上是没有dev分支上的修改内容的,dev就像我们的开发分支,我们最后修改还是要终止与master分支上,那我们就进行分支合并,dev合并到master上
合并分支操作:先切换到我们要合并的分支(也就是主分支),然后使用命令合并 分支
合并命令:git merge 分支名(当前分支为主分支, 将分支名合并到当前所在分支)
注:git merge 命令⽤于合并指定分⽀到当前分⽀。合并后,master就能看到dev分⽀提交的内容了
是不是感觉就像是master分支赶上dev分支,分支合并也相当于add 和 commit一次一样,HEAD指针是会跟着移动的
5.4、删除分支
合并完成后原来的分支也就没有用了,那么原来创建dev分支也就可以被删除了(提示:当前处于分支是不能删除的,需要切换到另一个分支才能进行删除)
删除图解:
5.5、合并冲突
合并也并不是总是能合成成功的,也会遇见冲突问题
这里从新将dev1分支创建回来
创建分支:git checkout -b dev1 (-b 就是春创建后直接进入这个分支)
以下分别修改文件是为了(演示两个不同分支内容的修改代表两个人)
这里看一下合并后的状态:
日志查询以下 提交信息:git log --graph --pretty=oneline --abbrev-commit
注:这里会显示很多之前的操作,这里我只截取了我们分支合并操作的日志
这个日志怎么看,图解一下给友友们看
合并也合并完了,现在可以删除到dev1分支了
5.6、分支管理策略
前面我们进行的合并分支都是采用Fast forward模式,这是默认的,这个默认合并方法有一点不友好就是,删除分支后,查看分支历史时,会丢掉分支信息,看不出来最新提交的到底是merge进来的还是正常提交的(这么说的原因就是:合并冲突的时候,我们手动修改后会再次进行提交)
刚刚的日志友友们也看见了
这里演示强制禁用Fast forward模式,那就需要重新提交一次
强制禁用Fast forward模式合并命令: git merge --no-ff -m "日志" 分支名
前置合并操作已经执行结束,下面来看日志打印:
提示:这里确实看着太明显,这里直接说结论:禁⽤ Fast forward 模式后合并会创建⼀个新的 commit ,所以加上 -m 参数,把描述写进去(这就是为啥我们能看见原因)
在合并分⽀时,加上 --no-ff 参数就可以⽤普通模式合并,合并后的历史有分⽀,能看出来曾
经做过合并,⽽ fast forward 合并就看不出来曾经做过合并
5.6.1、分支策略
分支就是为了控制版本的,多人合作,每个人都有自己的分支,时不时地往dev分支上合并就可以了(master分支为主分支,dev开发分支,michael自己的分支)
5.7、bug分支
假如我们现在正在dev2 分⽀上进⾏开发,开发到⼀半,突然发现 master 分⽀上⾯有bug,需要解决。在Git中,每个bug都可以通过⼀个新的临时分⽀来修复,修复后,合并分⽀,然后将临时分⽀删除
6、远程操作
我们日常都是为了进行模块化操作的也就是各自干各自的事情,远程仓库就是为了便利操作项目时的所有使用者,针对这个“服务器”肯定是24小时都在运行的,便于我们拿去第一手资料和推送第一手资料,运行git的服务器是可以我们自己搭建的,当前能拿现成的肯定是不会去自己搭建的,github不就是嘛,一个森罗万象的网络,github是国外网站,访问速度比较慢,这里就使用gitee来进行代码托管,创建一个进行git测试的仓库
6.1、创建远程仓库
那就从建仓库开始一步一步来,按着提示来就行
注:这里只能选择私有,创建后可以再管理处设置为公有(空仓库不能设置为公有)
这里就拿私有来展示效果,友友们想的话可以设置为公有
6.2、克隆远程仓库
创建仓库后点击创建的仓库,可以看见对对应仓库路径,克隆到本地
注:我这里就创建一个gitremote的目录,进行克隆,克隆的就是我们创建的仓库(命名就是参控仓库名)
克隆命令:git clone 远程仓库路径 (这里选择的是http路径进行复制的,需要输入用户和密码)
用户就是@后面内容;密码就是登录密码
查看一下远程仓库的名称
查看远程仓库命令:git remote
查看远程仓库详细命令:git remote -v
6.3、向远程仓库推送
本地要有新的文件才能向远程仓库进行推送,这里创建文件-》写文件-》文件推送
在这里之前再次提起 绑定信息,我们之前绑定过的,就是用户和邮箱,如果绑定不对的话,就推送不了
设置用户命令:git config [--global] user.name "请输入你的用户名" (就是gitee上的用户名)
设置邮箱命令:git config [--global] user.email "请输入你的邮箱"
有邮箱在这里(如果这里有的话,直接复制就行)
本地创建的文件,要先进行添加并提交到版本库中,然后再进行推送
推送命令: git push <远程主机名> <本地分支名>:<远程分支名>
如果本地分⽀名与远程分⽀名相同,则可以省略冒号:
推送命令:git push <远程主机名> <本地分支名>
注:不知道当前分支是什么;使用命令:git branch (当前分支进行查询)
看一下远程仓库:(本来可是什么都没有的)
6.4、拉取远程仓库
这里我们就在file.txt中修改下内容后,进行拉取下来
这里file.txt文件,我们就添加一行hello git
远程仓库是要领取于本地仓库一个版本,为了使本地仓库保持最新版本,这是我们需要拉取远端代码合并到本地
拉取命令:git pull <远程主机名> <远程分支名>:<本地分支名>
如果远程分支是与当前分支合并,则冒号后面的部分可以省略
拉取命令:git pull <远程主机名> <远程分支名>
注:当前我们已经存在文件了,内容不为空现在可以将仓库设置为公有的
6.5、配置Git
6.5.1、忽略特殊文件
在创建库的时候,还有很多的设置,如果没有开启,可以在工作区开启
这里我再次克隆,因为前面把仓库删了(这次是因为有内容,克隆路径需要点击进行,这里可选路径也很多,这次我们采取的HTTPS,进行克隆)
进行克隆操作
克隆命令:git clone (复制过来的HTTPS路径)
我仓库的名字叫test-Git克隆过来后就都是小写一个test-git文件(仓库)
在工作区创建文件是文件会生成但是git是不会提示的,当前不需要git提交给版本库
但是有些文件你虽然过滤掉了但是你还想添加给远程,此时可以强行添加,如果我们之前添加错了文件格式,那现在可以检查了
检查命令:git check-ignore -v 文件
强行提交:git add -f 文件名
刷新一下gitee上的仓库就不难看到(a.so文件已经被推送上去了)
7、标签管理
commit最后一次提交是一次完结,也是具有里程碑意义的,但是为了方便管理标签就比较友好的做到这一点,每次commit最后一次都可以进行“打标签” 表示一个版本(commit id 是不那么好记住的)
7.1、创建标签
打标签命令:git tag 标签
产看标签命令:git tag
给指定的commit id 进行打标签
注:这里的颜色提示是Ubuntu系统初识的设置,Centos7是不显示的,但是可以自己去设置
7.2、删除标签
删除标签的命令:git tag -d 标签
假如这里的v0.9标签打错了:进行删除(就是添加一个 -d 选项 比较简单就不在做解释)
7.3、标签推送到远程
推送命令:git push origin 标签
远程仓库内容:(刷新后可见)
8、扩展
gitee上创建一个分支,本地把分支拉下来,看看仓库都有那些分支
创建gitee分支
现在开始拉取分支
8.1、拉取远程仓库
涉及命令:
查看远程仓库命令:git branch -r (这里的查询不会实时更新,所以有可能仓库已删或者新增)
拉取命令:git pull (拉取的是远程仓库,不是本地仓库就有的)
创建并连接远程仓库: git checkout -b 本地分支名称 远程仓库/远程分支
拉取命令
8.2、删除远程仓库
远程仓库分支已经消失后,本地查看远程仓库分支是还是存在的
这里先删除远程仓库分支dev
删除刷新后就已经没有dev分支了
涉及命令:
查看本地和远程所有分支命令:git branh -a
查看本地与远程对应分支命令:git remote show origin
删除本地存储远程删除的分支:git remote prune origin
本地分支与远程分支对应:
删除本地对应远程仓库已经删除的分支
相关文章:
Git全套命令使用
日升时奋斗,日落时自省 目录 1、Git安装 1.1、创建git本地仓库 1.2、配置Git 1.3、认识Git内部区分 2、Git应用操作 2.1、添加文件 2.2、查看日志 2.3、查看修改信息 2.4、查看添加信息 3、版本回退 4、撤销修改 4.1、工作区撤销 4.2、已经add…...
【陕西理工大学-数学软件实训】数学实验报告(8)(数值微积分与方程数值求解)
目录 一、实验目的 二、实验要求 三、实验内容与结果 四、实验心得 一、实验目的 1. 掌握求数值导数和数值积分的方法。 2. 掌握代数方程数值求解的方法。 3. 掌握常微分方程数值求解的方法。 二、实验要求 1. 根据实验内容,编写相应的MATLAB程序,…...
Vue3为什么推荐使用ref而不是reactive
为什么推荐使用ref而不是reactive reactive本身具有很大局限性导致使用过程需要额外注意,如果忽视这些问题将对开发造成不小的麻烦;ref更像是vue2时代option api的data的替代,可以存放任何数据类型,而reactive声明的数据类型只能是对象; 先抛出结论,再详细说原因:非必要不用rea…...
JavaScript函数this指向
一、this的指向规则 1.this到底指向什么呢? 我们先来看一个让人困惑的问题: 定义一个函数,我们采用三种不同的方式对它进行调用,它产生了三种不同的结果 // 定义函数 function foo(name) {console.log("foo函数:", …...
Java的序列化
写在前面 本文看下序列化和反序列化相关的内容。 源码 。 1:为什么,什么是序列化和反序列化 Java对象是在jvm的堆中的,而堆其实就是一块内存,如果jvm重启数据将会丢失,当我们希望jvm重启也不要丢失某些对象ÿ…...
计算机二级python简单应用题刷题笔记(一)
计算机二级python简单应用题刷题笔记(一) 1、词频统计:键盘输入一组我国高校所对应的学校类型,以空格分隔,共一行。2、找最大值、最小值、平均分:键盘输入小明学习的课程名称及考分等信息,信息间…...
Spring注解家族介绍: @RequestMapping
前言: 今天我们来介绍RequestMapping这个注解,这个注解的内容相对来讲比较少,篇幅会比较短。 目录 前言: RequestMapping 应用场景: 总结: RequestMapping RequestMapping 是一个用于映射 HTTP 请求…...
系统架构设计师(第二版)学习笔记----信息安全系统及信息安全技术
【原文链接】系统架构设计师(第二版)学习笔记----信息加解密技术 文章目录 一、信息安全系统的组成框架1.1 信息安全系统组成框架1.2 信息安全系统技术内容1.3 常用的基础安全设备1.4 网络安全技术内容1.5 操作系统安全内容1.6 操作系统安全机制1.7 数据…...
交换机的工作原理(含实例,华为ensp操作)
目录 1.交换机学习和转发 案例 1.设置静态地址表项 2.配置黑洞mac地址表项 1.交换机学习和转发 交换机工作在数据链路层。当交换机从某个端口收到一个帧时,它并不是向所有的接口转发此帧,而是根据此帧的目的MAC地址&a…...
从字符串中删除指定字符
任务描述 编写一个函数实现功能:从字符串中删除指定的字符。同一字母的大、小写按不同字符处理。例如:程序执行时输入字符串:turbo c and Borland c,从键盘输入字符n,则输出后变为:turbo c ad Borlad c。如…...
Xcode14.3.1 真机调试iOS17的方法(无iOS17 DeviceSupport)
由于iOS17需要使用Xcode15 才能调试,而当前Xcode15都是beta,正式版还未出,那么要真机调试iOS17的方式一般有两种: 方法一: 一种是下载新的Xcode15 beta版 (但Xcode包一般比较大,好几个G&#…...
JWT基础
概念 JSON Web Token本质上就是一串字符串,一串包含了很多信息的字符串令牌拥有三个部分头部-包含加密算法和令牌类型{"alg":"算法名称","type":"JWT"}负载-包含数据和信息-七个官方默认-也可以自己定义内容{issÿ…...
关于远程工作的面试可能存在的陷阱
附上看到的完整帖子地址:面试 POPER 的后端开发工程师的离奇经历 分享一下我遇到过的,我至少面试过10个远程工作,其中有3个的面试是直接让我完成一个需求的,前两次都耐心做了,第3次看到相同要求时我都懒得回复了&…...
Qt5开发及实例V2.0-第一章Qt概述
Qt5开发及实例V2.0-第一章-Qt概述 第一章-Qt概述1.1 什么是Qt1.2 Qt 5的安装1.2.1 下载安装Qt 51.2.2 运行Qt 5 Creator1.2.3 Qt 5开发环境 1.3 Qt 5开发步骤及实例1.3.1 设计器Qt 5 Designer实现1.3.2 代码实现简单实例 L1.2 Qt 5安装:概念解析L1.3 Qt 5开发步骤及…...
matlab检索相似图像
在Matlab中检索相似图像通常需要使用图像处理和计算机视觉技术。以下是一种常见的方法,可以帮助您在Matlab中进行相似图像检索: 准备图像数据库: 首先,您需要有一个包含待检索图像的图像数据库。这些图像应该经过预处理࿰…...
ArrayBlockingQueue 带有三个参数的构造函数为何需要加锁?
哪一个构造函数 public ArrayBlockingQueue(int capacity, boolean fair,Collection<? extends E> c) {this(capacity, fair);final ReentrantLock lock = this.lock;lock.lock(); // Lock only for visibility, not mutual exclusiontry {final Object[] items = this…...
实训笔记——Spark计算框架
实训笔记——Spark计算框架 Spark计算框架一、Spark的概述二、Spark的特点三、Spark的安装部署(安装部署Spark的Cluster Manager-资源调度管理器的)3.1 本地安装--无资源管理器3.2 Spark的自带独立调度器Standalone3.2.1 主从架构的软件3.2.2 Master/wor…...
自定义类型:结构体
自定义类型:结构体 一:引入二:结构体类型的声明1:正常声明2:特殊声明 三:结构体变量的创建和初始化1:结构体变量的创建2:结构体变量的初始化 三:结构体访问操作符四:结构…...
postman如何设置才能SwitchHosts切换host无缓存请求到指定ip服务
开发测试中,遇到多版本同域名的服务使用postman进行测试,一般会搭配SwitchHosts切换host类似工具进行请求,postman缓存比较重,如何做到无缓存请求呢,下面简单记录一下如何实现 首先要知道如何当前请求服务的ip是哪个 打开postman 依次点击/menu/view/show postman console 就…...
LeetCode LCR 103. 零钱兑换【完全背包,恰好装满背包的最小问题】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…...
竞赛 基于深度学习的人脸专注度检测计算系统 - opencv python cnn
文章目录 1 前言2 相关技术2.1CNN简介2.2 人脸识别算法2.3专注检测原理2.4 OpenCV 3 功能介绍3.1人脸录入功能3.2 人脸识别3.3 人脸专注度检测3.4 识别记录 4 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于深度学习的人脸专注度…...
supervisord 进程管理器 Laravel执行队列
supervisord 进程管理器 执行队列 安装 yum install supervisor修改配置文件 /etc/supervisord.conf 最后一行 ini改为conf files=/etc/supervisor.d/*.conf vim /etc/supervisord.conf/etc/supervisord.d目录下新增配置文件 vim laravel-worker.conf 修改i 粘贴内容 退出修…...
Lnmp架构之mysql数据库实战1
1、mysql数据库编译 编译成功 2、mysql数据库初始化 配置数据目录 全局文件修改内容 生成初始化密码并进行初始化设定 3、mysql主从复制 什么是mysql的主从复制? MySQL的主从复制是一种常见的数据库复制技术,用于将一个数据库服务器(称为主…...
ChatGLM 大模型炼丹手册-理论篇
序言一)大还丹的崛起 在修真界,人们一直渴望拥有一种神奇的「万能型丹药」,可包治百病。 但遗憾的是,在很长的一段时间里,炼丹师们只能对症炼药。每一枚丹药,都是特效药,专治一种病。这样就导致,每遇到一个新的问题,都需要针对性的炼制,炼丹师们苦不堪言,修真者们吐…...
Spring Boot集成Redis实现数据缓存
🌿欢迎来到衍生星球的CSDN博文🌿 🍁本文主要学习Spring Boot集成Redis实现数据缓存 🍁 🌱我是衍生星球,一个从事集成开发的打工人🌱 ⭐️喜欢的朋友可以关注一下🫰🫰&…...
CentOS 7 安装Libevent
CentOS 7 安装Libevent 1.下载安装包 新版本是libevent-2.1.12-stable.tar.gz。(如果你的系统已经安装了libevent,可以不用安装) 官网:http://www.monkey.org/~provos/libevent/ 2.创建目录 # mkdir libevent-stable 3.解压 …...
线性代数的本质——几何角度理解
B站网课来自 3Blue1Brown的翻译版,看完醍醐灌顶,强烈推荐: 线性代数的本质 本课程从几何的角度翻译了线代中各种核心的概念及性质,对做题和练习效果有实质性的提高,下面博主来总结一下自己的理解 1.向量的本质 在物…...
SSH key 运作方式
1、本地创建SSH key pairs 2、把public key上传到网站服务器(如GitHub 3、当使用ssh方式连接时 本地SSH client向远端请求ssh连接远端发来random data要求加密本地ssh client用private key加密,把加密的data发送过去(不发送private key远端接…...
【基于MBD开发模式的matlab持续集成(一)】
基于MBD开发模式的matlab持续集成 引言 或许是感受到行业内卷的愈加激烈,在传统制造和高新技术相结合的新能源领域对软件工程开发的要求也愈加提高,尤其在互联网已经大行 其道的敏捷开发,便顺其自然的被新能源的老板们所看重。 概述 本文…...
Linux学习记录——이십팔 网络基础(1)
文章目录 1、了解2、网络协议栈3、TCP/IP模型4、网络传输1、同一局域网(子网)2、局域网通信原理3、跨一个路由器的两个子网4、其它 详细的网络发展历史就不写了 1、了解 为什么会出现网络?一开始多个计算机之间想要共享文件,就得…...
微信小网站制作/网站服务器是什么意思
1. 没有Timer控件 解决方案: 第一步:申明一个DispatcherTimer 类的变量, private DispatcherTimer timer; //定时控件 第二步:初始化这个类 timer new System.Windows.Threading.DispatcherTimer(); timer.Tick new EventHand…...
网站备案ip更换/石家庄网站建设就找
关系数据库设计范式介绍 .1 第一范式(1NF)无重复的列 所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。…...
专门做财经的网站/针对大学生推广引流
如果乔哥看见微信朋友圈有人有个福字,出于好奇就去问了一下。。。把攻略给大家搞来啦。去翻下微信好友列表,你可能会看到有的人的微信ID后面多了个金色的“福”字,到底怎么弄的呢?其实,这是微信官方活动,找…...
中电云主机怎样登入创建的网站/能让手机流畅到爆的软件
1.Spring容器的实例化 1.1. 用构造器去实例化bean <!-- id/name属性用于执行bean的名称 用于从spring中获取这个对象, class用于指定bean的类型,会自动调用无参数构造器创建对象 --><beanid"calendarobj1"class"java.util.GregorianCalendar" /&…...
国内专门做酒的网站/百度app下载
题目:Remove Nth Node From End of List 删除链表从尾部到头部第N的节点。 思路: 两个指针,一个从头开始前移N个节点后,第二个指针开始移动,当第一指针移动到末尾时,第二个指针指向的是从尾部到头部的第N个…...
湘潭响塘乡建设局网站/武汉百度推广外包
龙芯事件、又是个汉芯的后继翻版<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />龙芯事件、又是个汉芯的后继翻版,只是内容比上版充实一些。龙芯事件,无疑又是在十三亿国人脸上重重煽了一个耳光ÿ…...