git -团队开发 版本控制

news2024/11/18 0:52:56

文章目录

  • Git的概念
  • Git的安装过程
  • Git结构
  • 交互方式
  • 初始化本地仓库
  • Git常用命令
    • add和commit命令
    • status命令
    • log命令
    • log命令2
    • reset命令
      • hard参数/mixed参数/soft参数
    • 删除文件
      • 找回本地库删除的文件
      • 找回暂存区删除的文件
    • diff命令
  • 分支
    • 操作分支
    • 冲突问题,如何解决冲突题
  • GitHub
    • GitHub账号注册
    • 回顾本地库和远程库交互方式
    • 初始化本地库
    • 创建远程库
    • 在本地创建远程库地址的别名
    • 克隆操作
    • 邀请加入团队,push操作
    • 远程库修改的拉取操作
    • 远程库修改的拉取操作2
    • 协同开发合作时冲突的解决办法
    • 回顾跨团队合作交互方式
    • 跨团队合作
    • SSH免密登录
  • IDEA集成Git
    • 本地库和远程库的交互
    • 使用IDEA克隆远程库到本地
    • 解决冲突
    • 如何避免冲突
  • 报错
    • 第二次push报错
    • http和https代理报错 10054
    • 未登录GitHub报错443
    • Everything up-to-date

Git的概念

  1. Git技术:公司必备,一定要会

  2. Git概念:Git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的项目。

  3. 什么是版本控制? 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统 。

  4. 为什么要使用版本控制? 软件开发中采用版本控制系统是个明智的选择。 有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。
    就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子。
    但额外增加的工作量却微乎其微。你可以比较文件的变化细节,查出最后是谁修改了哪个地方,从而找出导致怪异问题出现的原因,又是谁在何时报告了某个功能缺陷等等。

  5. 版本控制系统的分类:

    集中化的版本控制系统:
    在这里插入图片描述
    集中化的版本控制系统诸如CVS, SVN 以及Perforce 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客
    户端连到这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法,这种做法带来了许多好处,现在,每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统;要远比在各个客户端上维护本地数据库来得轻松容易。
    事分两面,有好有坏。这么做最显而易见的缺点是中央服务器的单点故障。如果服务器宕机一小时,那么在这一小时内, 谁都无法提交更新,也就无法协同工作。

    分布式的版本控制系统 :
    由于上面集中化版本控制系统的那些缺点,于是分布式版本控制系统面世了。
    在这类系统中,像Git, BitKeeper 等,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。
    在这里插入图片描述
    更进一步,许多这类系统都可以指定和若干不同的远端代码仓库进行交互。这样,你就可以在同一个项目中分别和不同工作小组的人相互协作。

在这里插入图片描述分布式的版本控制系统在管理项目时存放的不是项目版本与版本之间的差异.它存的是索引(所需磁盘空间很少所以每个客户端都可以放下整个项目的历史记录)
在这里插入图片描述

Git的安装过程

Git官网: https://git-scm.com/
一直下一步安装即可

Git结构

在这里插入图片描述

交互方式

  1. 代码托管中心是干嘛的呢?
    我们已经有了本地库,本地库可以帮我们进行版本控制,为什么还需要代码托管中心呢?
    它的任务是帮我们维护远程库,
    下面说一下本地库和远程库的交互方式,也分为两种:
    (1)团队内部协作

在这里插入图片描述
(2)跨团队协作
在这里插入图片描述

  1. 托管中心种类:
    局域网环境下:可以搭建 GitLab服务器作为代码托管中心,GitLab可以自己去搭建
    外网环境下:可以由GitHub或者Gitee作为代码托管中心,GitHub或者Gitee是现成的托管中心,不用自己去搭建

初始化本地仓库

  1. 创建一个文件夹
    在这里插入图片描述
  2. 打开Git终端:
    鼠标右键点击:Git Bash Here
    在Git中命令跟Linux是一样的
    1. 查看git安装版本
      在这里插入图片描述
    2. 清屏
      在这里插入图片描述
    3. 设置签名
      查看用户名和邮箱
      git config user.name
      git config user.emila
      设置用户名和邮箱:
      在这里插入图片描述
      在这里插入图片描述
    4. 本地仓库的初始化操作
      在这里插入图片描述
      .git目录是隐藏的:可以调出来查看:
      在这里插入图片描述
      查看.git下内容:
      在这里插入图片描述
      注意事项: .git目录下的本地库相关的子目录和子文件不要删除,不要胡乱修改。

Git常用命令

add和commit命令

添加文件: add 提交文件:commit
展示:

  1. 先创建一个文件:
    在这里插入图片描述

  2. 将文件提交到暂存区:
    在这里插入图片描述

  3. 将暂存区的内容提交到本地库:
    在这里插入图片描述
    注意事项:
    在这里插入图片描述

    1. 不放在本地仓库中的文件,git是不进行管理
    2. 即使放在本地仓库的文件,git也不管理,必须通过add,commit命令操作才可以将内容提交到本地库。

status命令

git status看的是工作区和暂存区的状态
创建一个文件,然后查看状态:
在这里插入图片描述
然后将Demo2.txt通过git add命令提交至:暂存区:
在这里插入图片描述
查看状态:
在这里插入图片描述
利用git commit 命令将文件提交至:本地库
在这里插入图片描述
现在修改Demo2.txt文件中内容:
在这里插入图片描述
重新添加至:暂存区:
在这里插入图片描述
在这里插入图片描述
然后将暂存区的文件提交到本地库:
在这里插入图片描述
提交完再查看状态:
在这里插入图片描述

log命令

git log 可以让我们查看提交的,显示从最近到最远的日志
在这里插入图片描述

当历史记录过多的时候,查看日志的时候,有分页效果,分屏效果,一页展示不下:
在这里插入图片描述
下一页:空格
上一页: b
到尾页了 ,显示END
在这里插入图片描述
退出:q

log命令2

日志展示方式:

  1. git log —>分页
  2. git log --pretty=oneline
    在这里插入图片描述
  3. git --oneline
    在这里插入图片描述
  4. git reflog
    HEAD代表指针
    多了信息:HEAD@{数字}
    这个数字的含义:指针回到当前这个历史版本需要走多少步
    在这里插入图片描述

reset命令

reset命令:前进或者后退历史版本

复制:在终端中选中就是复制了
粘贴: 右键:paste
在这里插入图片描述

hard参数/mixed参数/soft参数

  1. hard参数:
    git reset --hard [索引]
    本地库的指针移动的同时,重置暂存区,重置工作区
    在这里插入图片描述
  2. mixed参数:
    本地库的指针移动的同时,重置暂存区,但是工作区不动
    在这里插入图片描述
  3. soft参数:
    本地库的指针移动的时候,暂存区,工作区都不动
    在这里插入图片描述
    总结:以后用的多的就是 第一种hard参数

删除文件

找回本地库删除的文件

  1. 新建 一个Test2.txt文件
  2. 将它add到暂存区中
  3. 再通过commit提交到本地库
    在这里插入图片描述
  4. 删除工作区中的Test2.tx
    在这里插入图片描述
  5. 将删除操作同步到暂存区:
    在这里插入图片描述
  6. 将删除操作同步到本地库:
    在这里插入图片描述
  7. 查看日志
    在这里插入图片描述
  8. 找回本地库中删除的文件,实际上就是将历史版本切换到刚才添加文件的那个版本即可:
    在这里插入图片描述

找回暂存区删除的文件

  1. 删除工作区数据
    在这里插入图片描述
  2. 同步到缓存区:
    在这里插入图片描述
  3. 后悔了,恢复暂存区中数据:
    在这里插入图片描述
    5.

diff命令

  1. 先创建一个文件,添加到暂存区,再提交到本地库:
    在这里插入图片描述

  2. 改工作区中Test3.txt中内容,增加内容:
    在这里插入图片描述
    导致:工作区 和 暂存区 不一致,比对:
    在这里插入图片描述
    总结: git diff [文件名] —》 将工作区中的文件和暂存区中文件进行比较

    多个文件的比对:
    在这里插入图片描述
    总结:git diff —>比较工作区中和暂存区中 所有文件的差异

比较暂存区和本地库中差别:

git diff [历史版本][文件名] - - -》比较暂存区和本地库中内容
在这里插入图片描述
在这里插入图片描述

分支

什么是分支

  1. 什么是分支:
    在版本控制过程中,使用多条线同时推进多个任务。这里面说的多条线,就是多个分支。
  2. 通过一张图展示分支:
    在这里插入图片描述
  3. 分支的好处:
    同时多个分支可以并行开发,互相不耽误,互相不影响,提高开发效率
    如果有一个分支功能开发失败,直接删除这个分支就可以了,不会对其他分支产生任何影响。

操作分支

查看,创建,切换分支

  1. 在工作区创建一个Test4.txt文件,然后提交到暂存区,提交到本地库:
    在这里插入图片描述
    在这里插入图片描述
  2. 查看分支:
    git branch -v
    在这里插入图片描述
  3. 创建分支:
    git branch branch01
    在这里插入图片描述
    再查看:
    在这里插入图片描述
  4. 切换分支:
    git checkout branch01
    在这里插入图片描述

冲突问题,如何解决冲突题

  1. 进入branch01分支,增加内容:
    在这里插入图片描述
    git status
    git add Test4.txt
    git commit -m “在分支01增加内容” Test4.txt
    在这里插入图片描述
  2. 将分支切换到master:
    在这里插入图片描述
    然后在主分支下 加入内容:
    git add Test4.txt
    git commit -m “主分支中增加了内容” Test4.txt在这里插入图片描述在这里插入图片描述
  3. 再次切换到branch01分支查看:
    git checkout branch01
    git branch -v
    在这里插入图片描述
  4. 将branch01分支 合并到 主分支 :
    1. 进入主分支:
      git checkout master
      在这里插入图片描述
    2. 将branch01中的内容和主分支内容进行合并:
      git merge branch01
      在这里插入图片描述
      查看文件:==出现冲突: ==

在这里插入图片描述
解决:
公司内部商议解决,或者自己决定 人为决定,留下想要的即可:
在这里插入图片描述
将工作区中内容添加到暂存区:
在这里插入图片描述
然后进行commit操作:
在这里插入图片描述

GitHub

GitHub账号注册

官网:https://github.com/
注册账号不做过多解释

回顾本地库和远程库交互方式

在这里插入图片描述

初始化本地库

描述: 本次操作有两个账号,模仿两个人进行操作
第一步:账号1 初始化本地库
第二步:账号1 创建远程仓库
第三步:账号1 在本地创建远程库地址的别名
第四步:账号2 克隆操作
第五步:账号2 更新本地库信息,加入团队,push成功
在这里插入图片描述

创建远程库

  1. 创建远程库
    在这里插入图片描述
  2. 录入信息

在这里插入图片描述
3. 完成状态
在这里插入图片描述

在本地创建远程库地址的别名

远程库的地址:
在这里插入图片描述
点击进入
在这里插入图片描述
远程库地址比较长,每次复制比较麻烦
https://github.com/zhaoshanshan3366/GitResp2.git
在Git本地将地址保存,通过别名

查看别名:

在这里插入图片描述
起别名:
在这里插入图片描述
在这里插入图片描述
推送操作
在这里插入图片描述
推送成功以后,查看自己的远程库:

在这里插入图片描述

克隆操作

远程库地址复制:
在这里插入图片描述
克隆操作:
在这里插入图片描述
克隆操作可以帮我们完成
(1)初始化本地库
(2)将远程库内容完整的克隆到本地
(3)替我们创建远程库的别名:
在这里插入图片描述

邀请加入团队,push操作

在这里插入图片描述

  1. 更新本地库信息:
    在这里插入图片描述
  2. push内容到远程库中去:
    发现可以直接push进去,并没有让我录入账号密码,或者也没有提示错误 - --》结果 很诡异
    原因:git使用的时候在本地有缓存:
    将缓存删除:
    在这里插入图片描述
    在这里插入图片描述
    现在再次重新push,发现出错了:
    在这里插入图片描述
    必须要加入团队:
    登录项目经理的账号,邀请普通成员:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    登录被邀请者的账号,接收邀请:(在地址栏录入邀请链接即可:https://github.com/zhaoshanshan3366/GitResp2/invitations)

在这里插入图片描述
再次push 就会成功了
在这里插入图片描述

远程库修改的拉取操作

  1. 拉取操作 pull操作,相当于 fetch+merge
    在这里插入图片描述
  2. 项目经理先先确认远程库内容是否更新了
    在这里插入图片描述
  3. 项目经理进行拉取:
    (1) 先是抓取操作:fetch:
    在这里插入图片描述

在抓取操作执行后,只是将远程库的内容下载到本地,但是工作区中的文件并没有更新。工作区中还是原先的内容
在这里插入图片描述

抓取后可以去远程库看看内容是否正确:
在这里插入图片描述
在这里插入图片描述
然后发现内容都正确,就可以进行合并操作了:
合并之前应该将分支切换回来:
在这里插入图片描述
(2)进行合并:merge:
在这里插入图片描述

远程库修改的拉取操作2

远程库的拉取可以直接利用pull命令来完成:
在这里插入图片描述
fetch+merge操作:—》为了保险,慎重
pull —>代码简单,省事

协同开发合作时冲突的解决办法

账号1
向远程库推送数据:
在这里插入图片描述

账号2
做了一个拉取操作:
在这里插入图片描述
到这里为止,现在远程合作没有任何问题。
现在操作同一个文件的同一个位置的时候,就会引起冲突:

账号2
修改文件
再次做推送操作:
在这里插入图片描述

账号1
与账号2修改同一个文件
然后推送
在这里插入图片描述
发现 推送失败!
在冲突的情况下,先应该拉取下来,然后修改冲突,然后再推送到远程服务器:
先拉取:
在这里插入图片描述
查看冲突:
在这里插入图片描述
人为解决这个冲突:(该删的删,该留的留)
在这里插入图片描述
解决完冲突以后,向服务器推送:
在这里插入图片描述
推送:
在这里插入图片描述
解决了冲突问题:
在这里插入图片描述

回顾跨团队合作交互方式

在这里插入图片描述

跨团队合作

  1. 得到远程库的地址
    账号1
    在这里插入图片描述
    地址:
    https://github.com/zhaoshanshan3366/GitResp2.git

  2. 进行fork操作
    账号3
    进入到账号后:复制地址:https://github.com/zhaoshanshan3366/GitResp2.git
    然后点击下面的fork操作:
    在这里插入图片描述
    在这里插入图片描述

  3. 然后就可以克隆到本地,并且进行修改:
    ==账号3==
    然后更改数据:添加到暂存区,然后提交到本地库,然后push到远程库:
    在这里插入图片描述

  4. 进行pull request操作:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  5. 进行审核操作:
    账号1
    在这里插入图片描述
    可以互相留言:
    在这里插入图片描述
    查看具体提交的内容:
    在这里插入图片描述
    确定通过以后,可以进行合并:
    在这里插入图片描述

SSH免密登录

免密操作:

  1. 进入用户的主目录中:
    在cmd中
    在这里插入图片描述

  2. 执行命令,生成一个.ssh的目录:
    在这里插入图片描述
    keygen — > key generation
    注意:C要大写
    后面的邮箱,是你的github注册的账号的时候对应的邮箱
    三次回车确认默认值即可
    在这里插入图片描述
    发现在.ssh目录下有两个文件:
    在这里插入图片描述

  3. 打开id_rad.pub文件,将里面的内容进行复制操作:

     ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCqiZEbHnyAbBFzx/OFWUyxlL2NUyf//1NdmvYfi+x09AENYVDXcPc2CLiUSYpUcRj7eWuLiIBuzYO/0aYTYgSLPMKAKn8WSLipd7S+vqRsxRLZYna+WvfGvYXc6DexenZlgoMzQe7CBE4IaL1eG4IAvAbjXSF0pq7OJKkcb5L8lQ0HlU9p+eC7WluoW+ZThym/Au8lscDtUVE/I9IwAgvUXB4TxmP7aYD1YCrAUuQ+6mlgh+Tqqb4aWyHPIvtXidkWOPS2pZ7zGi+1cQE6UFxxNlIrH5tczmOKOZ2XKemFWMFc4S89O1y9M9pfOFZZ5F4gbQf6PmrbB4eSyYmWT1TH6FBlB9eaw8v8w186qvqbUKHIc450/hZuQ9LehhdHDgkT86uBAEkXBwwHvVsIM61AD7TC0E1uMw0/Cf4I64vZOVF0/pE6rjs+0LqvF/mtq4aM1riIkSKqFFEm5sx2MsCAJrSBTr3uQFufAMA4VmANH6YAtTwgIJtV5AI16XQlY/8= chinazss@126.com 
    
  4. 打开github账号
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  5. 生成密钥以后,就可以正常进行push操作了:对ssh远程地址起别名:
    在这里插入图片描述
    展示别名:
    在这里插入图片描述
    创建一个文件:
    在这里插入图片描述
    添加到暂存区,提交到本地库,然后push到远程库(地址用的是ssh方式的地址)

在这里插入图片描述
ssh方式好处:不用每次都进行身份验证
缺陷:只能针对一个账号

IDEA集成Git

IDEA集成Git
在这里插入图片描述
本地库的初始化操作:
在这里插入图片描述
本地库初始化完成了,生成了.git目录:
在这里插入图片描述
添加到暂存区,再提交到本地库操作; add +commit:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
当你更改内容以后,前面跟本地库内容不一致的地方会显示绿色:
在这里插入图片描述

本地库和远程库的交互

因为他们是两个不同的项目,要把两个不同的项目合并,git需要添加一句代码,在 git pull 之后,这句代码是在git 2.9.2版本发生的,最新的版本需要添加 –allow-unrelated-histories 告诉 git 允许不相关历史合并。

假如我们的源是origin,分支是master,那么我们需要这样写 git pull origin master --allow-unrelated-histories

这个方法只解决因为两个仓库有不同的开始点,也就是两个仓库没有共同的 commit 出现的无法提交。如果使用本文的方法还无法提交,需要看一下是不是发生了冲突,解决冲突再提交

push推送: git push -u origin master -f
在这里插入图片描述
在这里插入图片描述
到这里 远程库和本地库就可以进行交互了。

在IDEA中进行推送:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一般在开发中先pull操作,再push操作,不会直接进行push操作!!

使用IDEA克隆远程库到本地

利用IDEA进行克隆项目:
在这里插入图片描述
克隆到本地后:
这个目录既变成了一个本地仓库,又变成了工作空间。
在这里插入图片描述

解决冲突

在你push以后,有冲突的时候提示合并操作:
在这里插入图片描述
合并:
在这里插入图片描述
在这里插入图片描述

如何避免冲突

1.团队开发的时候避免在一个文件中改代码
2.在修改一个文件前,在push之前,先pull操作

报错

第二次push报错

描述:
第一次提交项目到一个新的仓库
我们按照如下的步骤上传了一个项目到仓库的时候,是可以成功的:

1、git init 初始化
2、git add .  将当前目录下修改的所有代码从工作区添加到暂存区
3、git commit -m  ['注释']  将缓存区内容添加到本地仓库
4、git remote add origin 仓库地址  将本地仓库与远程仓库连接起来
5、git push origin master 将项目推送到远程仓库的master分支上

然后修改了本地仓库在向远程仓库进行提交时会出现错误
在这里插入图片描述
错误原因: 第二次将一个新的项目在提交到仓库,需要先pull然后才可以提交

此时我们要执行git pull --rebase origin master拉到本地,
然后执行git push origin master就可以成功了

http和https代理报错 10054

在这里插入图片描述
错误原因: 因为git在拉取或者提交项目时,中间会有git的http和https代理,但是我们本地环境本身就有SSL协议了,所以取消git的https代理即可,不行再取消http的代理
在电脑命令行中
执行git config --global --unset http.proxy
和git config --global --unset https.proxy
然后执行ipconfig/flushdns 清理DNS缓存
在这里插入图片描述

未登录GitHub报错443

在这里插入图片描述
清除git缓存登录账号密码
上边邀请加入团队,push操作目录中有

然后在提交就成功啦~
在这里插入图片描述

Everything up-to-date

解决
commit代码~

git commit -m "msg"
git push

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/463169.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年的深度学习入门指南(9) - Triton

2023年的深度学习入门指南(9) - Triton 上一篇我们学习了如何用CUDA进行编程。 下面我们将介绍几种深度学习GPU编程的优化方法。 第一种我们称之为多面体编译器。我们知道,在传统的IR,比如LLVM-IR中,使用条件分支来编码控制流信息。这种相对…

Find My资讯|美国苹果AirTag市场大涨,助推Find My技术的发展

根据市场调查机构 Circana公布的最新统计数据,在苹果 AirTag 的助推下,美国市场物品追踪器市场快速发展。 报告称 AirTag 等物品追踪器已经成为旅行者的必备品,今年 1 月和 2 月期间,物品追踪器的销售额同比增长了 82%&#xff…

宁波博视眼科俞存院长:晒太阳会晒出白内障?是真的吗?

春意渐浓,人们纷纷踏出家门,享受暖暖的阳光。众所周知,适当晒太阳可以促进人体合成维生素D,对身体有一定的好处。 但你知道吗?太阳光中的紫外线可能会导致部分眼病的出现,例如:白内障。 晒太阳怎么会晒出白…

【数据结构初阶】第七节.树和二叉树的基本操作

作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:Java初阶数据结构 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!! 文章目…

[Linux]文件系统权限与访问控制

​⭐作者介绍:大二本科网络工程专业在读,持续学习Java,输出优质文章 ⭐作者主页:逐梦苍穹 ⭐所属专栏:Linux基础操作。本文主要是分享一些Linux系统常用操作,内容主要来源是学校作业,分享出来的…

Docker 安装

系列文章目录 文章目录 系列文章目录前言一、Docker 安装地址?二、常用命令1. 基础命令2. docker 镜像命令 三、安装步骤1.卸载原有环境2.安装对应的依赖环境和镜像地址3. 安装过慢设置镜像4. 直接安装docker CE5. 启动docker服务6. 查看docker的版本7. 配置阿里云的…

改进YOLOv8 | 主干网络篇 | YOLOv8 更换骨干网络之 SwinTransformer | 《基于位移窗口的层次化视觉变换器》

论文地址:https://arxiv.org/pdf/2103.14030.pdf 代码地址:https://github.com/microsoft/Swin-Transformer 本文介绍了一种新的视觉Transformer,称为Swin Transformer,它可以作为计算机视觉通用的骨干网络。从语言到视觉的转换中,适应Transformer所面临的挑战源于两个领…

112页智慧城市大数据综合解决方案(ppt可编辑)

本资料来源公开网络,仅供个人学习,请勿商用,如有侵权请联系删除 项目必要性分析 完善信息基础设施布局规划,满足区域信息化的发展要求 信息化已成为提升城市管理、促进经济发展、改善民生的重要手段合理高效的部署宽带信息基础…

亚马逊美国站纽扣电池标准

近日,亚马逊美国站公布要求卖家需遵守扭电池和硬币电池的新包装和警示标签规定公告。 在亚马逊销售单独的纽扣电池和硬币电池,则从2023年3月2日开始,您需要证明您的符合儿童安全包装和警告标签要求。 适用产品有;单独的纽扣电池或硬币电池&a…

FPGA基础知识 LCMXO3LF-6900C-6BG400I FPGA可编程逻辑简介

FPGA是英文Field-Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定…

ThinkPHP模型操作下

ThinkPHP模型操作下 前言1. 模型设置1.name(数据表除去前后缀的名字,默认是当前model的类名)2.table(完整的数据表名)3.pk 改变主键名称4.schema 设置模型对应数据表字段及类型5.disuse 数据表废弃字段(数组)6.模型的其他属性 2. 模型的主要功…

从零搭建MySQL监控平台(mysql-exporter+Prometheus+Grafana)

文章目录 一、软件安装二、 软件配置配置mysql_exporter配置prometheus配置Grafana 本文是我自己在Macbook上本地从零开始搭建一套MySQL监控平台,监控的也是我本机的MySQL,过程包括prometheus、mysql_exporter、Grafana的配置与下载。 一、软件安装 我是…

像素(物理像素dp、逻辑像素dip、物理像素 / 逻辑像素drp)

1、像素 px实际是pixel(像素)的缩写,它是图像显示的基本单元,既不是一个确定的物理量,也不是一个点或者小方块,而是一个抽象概念。 一个个的小格子被定义为一个单位,叫做 像素 ,2像…

【Android Framework (八) 】- Service

文章目录 知识回顾启动第一个流程initZygote的流程system_serverServiceManagerBinderLauncher的启动AMS 前言源码分析1.startService2.bindService 拓展知识1:Service的两种启动方式对Service生命周期有什么影响?2:Service的启动流程3:Service的onStartCommand返回…

国内直接使用的ChatGTP

ChatGTP都能做一些什么事: 回答问题:我可以通过自然语言处理技术来回答用户的问题,提供有用的信息和解决方案。 聊天互动:我可以和用户聊天互动,倾听对话和提供支持。 搜索:我可以搜索互联网和已知的数据…

宠物领养系统【GUI/Swing+MySQL】(Java课设)

系统类型 Swing窗口类型Mysql数据库存储数据 使用范围 适合作为Java课设!!! 部署环境 jdk1.8Mysql8.0Idea或eclipsejdbc 运行效果 本系统源码地址:https://download.csdn.net/download/qq_50954361/87708775 更多系统资源库…

Word行距怎么设置?基础设置,必会的4个方法!

案例:Word行距怎么设置 【各位朋友,谁知道Word行距怎么设置呀?今天写文章时,感觉所有文字都挤在一起,非常不美观,想调一下行距,在线等一个简单的方法!】 Word作为打工人和学生党必…

多种内网穿透的实现方案

1. 内网穿透的应用场景 1.1. 开发调试 比如企业微信、钉钉等开发,需要一个回调地址,开发的时候,希望回调到开发的电脑上,打断点进行调试,这就需要穿透到内网的开发机器。 1.2. 演示测试 有需要演示或测试的系统&am…

Kubeadm方式搭建K8s集群【1.26.0版本】

文章目录 一、集群规划及架构二、系统初始化准备(所有节点同步操作)三、安装并配置Containerd容器运行时四、安装kubeadm(所有节点同步操作)五、初始化集群六、Node节点添加到集群七、安装网络组件Calico八、测试CoreDNS解析可用性九、拓展1、ctr和crictl命令具体区别 一、集群…

【c++ 之 多态】

目录: 前言多态认识多态多态的定义与实现构成多态的条件虚函数1.协变(基类与派生类虚函数返回值不同)2.析构函数的重写c11.两个虚函数修饰关键字:final & override 重载、重写、重定义再理解 抽象类抽象类的概念接口继承与实现…