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

Git实用指令记录

config

  • 用例:对git最先要做的一个操作就是配置用户名和邮箱,否则无法commit
  • 查看所有可以config的条目,非常之多
    $ git config --list
    core.symlinks=false
    core.autocrlf=true
    core.fscache=true
    color.interactive=true
    color.ui=auto
    help.format=html
    diff.astextplain.textconv=astextplain
    rebase.autosquash=true
    filter.lfs.clean=git-lfs clean -- %f
    filter.lfs.smudge=git-lfs smudge -- %f
    filter.lfs.process=git-lfs filter-process
    filter.lfs.required=true
    credential.helper=!"D:/Software/PortableGit/mingw64/libexec/git-core/git-credential-store.exe"
    user.email=auzfhuang@mail.scut.edu.cn
    user.name=DEDSEC_Roger
    credential.helperselector.selected=store
    core.repositoryformatversion=0
    core.filemode=false
    core.bare=false
    core.logallrefupdates=true
    core.symlinks=false
    core.ignorecase=true
    remote.origin.url=https://<token>@github.com/DEDSEC-Roger/Speaker_Recognition.git
    remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
    branch.main.remote=origin
    branch.main.merge=refs/heads/main
    
  • 但我们需要配置的并不多,只需要配置user.email和user.name即可,配置完后可以查看一下
    $ git config --global user.name DEDSEC_Roger
    $ git config --global user.email auzfhuang@mail.scut.edu.cn
    $ git config --global --list
    user.email=auzfhuang@mail.scut.edu.cn
    user.name=DEDSEC_Roger
    # credential.helperselector是我之前设置的
    credential.helperselector.selected=store
    

clone

  • 用例:从GitHub,clone某个仓库的某个分支(branch)到当前文件夹
  • 找到main分支,复制HTTPS的网址
    在这里插入图片描述
  • 在本地新建一个文件夹,然后运行
    $ git clone https://github.com/DEDSEC-Roger/Speaker_Recognition.git
    Cloning into 'Speaker_Recognition'...
    remote: Enumerating objects: 271, done.
    remote: Counting objects: 100% (11/11), done.
    remote: Compressing objects: 100% (10/10), done.
    remote: Total 271 (delta 5), reused 3 (delta 1), pack-reused 260
    Receiving objects: 100% (271/271), 32.10 MiB | 1.09 MiB/s, done.Resolving deltas: 100% (50/50), done.
    
  • 成功下载该仓库该分支的代码到本地了,是放在一个文件夹里面的,这个文件夹里除了.git文件夹,其他都称为工作区(working directory)
  • 注意:clone包含.git文件夹,如果我们已经做了很多修改,那么.git文件夹会非常大,因为保存了以前的commit,可以采用–depth=1来限制只提取最近一次commit,并采用–branch来指定分支
    $ git clone --depth=1 --branch=main https://github.com/DEDSEC-Roger/Speaker_Recognition.git
    正克隆到 'Speaker_Recognition'...
    remote: Enumerating objects: 77, done.
    remote: Counting objects: 100% (77/77), done.
    remote: Compressing objects: 100% (75/75), done.
    remote: Total 77 (delta 0), reused 65 (delta 0), pack-reused 0
    展开对象中: 100% (77/77), 完成.
    

status

  • 用例:监控本地分支(Your branch)、缓存区(暂存区)(stage、index)和工作区有无发生修改
  • 本地分支和缓存区都是隐藏的,在.git文件夹里,不影响工作区
  • 修改文件夹里的Test.py,然后运行
    $ git status
    On branch main
    Your branch is up to date with 'origin/main'.Changes not staged for commit:(use "git add <file>..." to update what will be committed)(use "git restore <file>..." to discard changes in working directory)modified:   Test.pyno changes added to commit (use "git add" and/or "git commit -a")
    
  • 会告诉你哪些文件被修改了,哪些修改还没有被添加到缓存区

add

  • 用例:将工作区(下文省略)修改的文件,添加到缓存区,添加的是完整路径,因此添加单个文件会创建该文件的整个目录,因此add文件即可,不用担心目录不完整
  • add只会添加工作区发生修改的文件,未修改的文件,即使add,也不会被放到缓存区
  • add添加的语法有很多,如下
    # 当前目录下所有文件
    git add .# 当前目录下单个文件
    git add filename# 当前目录下多个文件
    git add filename1 filename2 filename3# 当前目录下所有.py文件
    # 一个*表示匹配任意数量字符
    # 一个?表示匹配任一(包括无)字符
    # .符号也会被匹配
    git add *.py# 当前目录下所有.pyc, .pyo, .pyd文件
    # 一个[]表示匹配括号内的任一字符,也可以在括号内加连接符,如[0-9]匹配0至9的数
    git add *.py[cod]# 当前目录下除.py文件外的所有文件
    # 一个!在前表示反转规则
    git add !*.py# 整个文件夹,必须是非空文件夹
    git add folder# folder文件夹下,以及子文件夹下的所有文件
    git add folder/*# folder文件夹下,以及子文件夹下的所有.py文件
    # 两个*表示匹配任意子文件夹
    git add folder/**/*.py
    
  • 比如说,在Profile文件夹下,粘贴了一个以Delete结尾的文件夹,这个文件夹里有.txt文件,现在回到Speaker_Recognition文件夹,要把.txt文件,添加到缓存区
    $ git add Profile/*Delete/*.txt
    $ git status
    On branch main
    Your branch is up to date with 'origin/main'.Changes to be committed:(use "git restore --staged <file>..." to unstage)new file:   Profile/ECAPA_TDNN_GLOB_c512-ASTP-emb192-ArcMargin-LM_Delete/dummy.txtChanges not staged for commit:(use "git add <file>..." to update what will be committed)(use "git restore <file>..." to discard changes in working directory)modified:   Test.py
    

commit

  • 用例:把缓存区的文件都添加到本地分支
  • commit必须用-m写信息,否则无法commit,如果不写信息就按了回车,会进入vim强行让你写,可以按下esc,然后输入:q,最后按下回车退出
  • commit后status查看状态,会提示说本地分支多了一个commit
    $ git commit -m "add files"
    [main 487222b] add files1 file changed, 0 insertions(+), 0 deletions(-)
    create mode 100644 Profile/ECAPA_TDNN_GLOB_c512-ASTP-emb192-ArcMargin-LM_Delete/dummy.txt
    $ git status
    On branch main
    Your branch is ahead of 'origin/main' by 1 commit.(use "git push" to publish your local commits)Changes not staged for commit:(use "git add <file>..." to update what will be committed)(use "git restore <file>..." to discard changes in working directory)modified:   Test.pyno changes added to commit (use "git add" and/or "git commit -a") 
    

restore

  • 用例:进行工作区和缓存区的恢复操作
  • 将工作区已修改的文件恢复到修改之前
    $ git status
    On branch main
    Your branch is up to date with 'origin/main'.Changes not staged for commit:(use "git add <file>..." to update what will be committed)(use "git restore <file>..." to discard changes in working directory)modified:   Test.pyno changes added to commit (use "git add" and/or "git commit -a")
    $ git restore .\Test.py
    $ git status
    On branch main
    Your branch is up to date with 'origin/main'.nothing to commit, working tree clean
    
  • 将缓存区的文件恢复到工作区,工作区文件不变,相当于撤销add操作
    $ git add .\Test.py
    $ git status
    On branch main
    Your branch is up to date with 'origin/main'.Changes to be committed:(use "git restore --staged <file>..." to unstage)modified:   Test.py
    $ git restore --staged .\Test.py
    $ git status
    On branch main
    Your branch is up to date with 'origin/main'.Changes not staged for commit:(use "git add <file>..." to update what will be committed)(use "git restore <file>..." to discard changes in working directory)modified:   Test.pyno changes added to commit (use "git add" and/or "git commit -a")
    

rm

  • 用例:可用于撤销add,本质上是将指定的文件变成Untracked状态,所谓Untracked状态的文件,就是在clone到本地时,分支中没有的文件。建议用git restore --staged filename代替
  • 操作后会显示delete了该文件,然后我们再把该文件改好,再次add该文件,就能把正确的更新放到缓存区
    git add .\Test.py
    $ git status
    On branch main
    Your branch is up to date with 'origin/main'.Changes to be committed:(use "git restore --staged <file>..." to unstage)modified:   Test.py
    $ git rm --cached .\Test.py
    rm 'Test.py'
    $ git status
    On branch main
    Your branch is up to date with 'origin/main'.Changes to be committed:(use "git restore --staged <file>..." to unstage)deleted:    Test.pyUntracked files:(use "git add <file>..." to include in what will be committed)Test.py
    $ git add .\Test.py
    $ git status
    On branch main
    Your branch is up to date with 'origin/main'.Changes to be committed:(use "git restore --staged <file>..." to unstage)modified:   Test.py
    

reset

  • 用例:如果后续又commit了一些文件,但是感觉操作错了,可以用reset
    # --soft表示退回本地分支的commit到缓存区
    # HEAD后面跟几个~就是最近的几次commit
    # HEAD后面也可直接跟~数字,比如HEAD~~等价于HEAD~2
    $ git reset --soft HEAD~# --mixed表示退回本地分支的commit到缓存区,再把缓存区的添加全部去除
    $ git reset --mixed HEAD~# 慎用!--hard表示退回本地分支的commit到缓存区,再把缓存区的添加去掉
    # 再把工作区的修改也恢复,工作区的恢复是全部恢复
    $ git reset --hard HEAD~
    
  • 如果你没有commit任何东西,不要使用reset,因为这样会回退本地分支,这会导致本地分支与远程分支发生差异Your branch and 'origin/main' have diverged, and have 1 and 2 different commits each, respectively. (use "git pull" to merge the remote branch into yours)
  • 发生差异后,会导致无法push本地分支到远程分支,需要先pull远程分支

remote

  • 用例:查看进行pull和push操作的远程分支的信息,由于GitHub要求token才能push分支,所以还需要进行仓库的地址设定
    # 指定仓库名origin,查看该仓库的信息
    # 直接git remote,查看连接了哪些仓库
    $ git remote show origin
    * remote originFetch URL: https://github.com/DEDSEC-Roger/Speaker_Recognition.gitPush  URL: https://github.com/DEDSEC-Roger/Speaker_Recognition.gitHEAD branch: mainRemote branch:main trackedLocal branch configured for 'git pull':main merges with remote mainLocal ref configured for 'git push':main pushes to main (local out of date)
    
  • 先去GitHub申请token,官方教程在此,拿到token后,一定要复制保存到本地
  • 然后设置远程仓库的地址,必须先设置这个带有token的地址,才能在GitHub顺利地push
    $ git remote set-url origin https://<token>@github.com/DEDSEC-Roger/Speaker_Recognition.git
    $ git remote show origin
    * remote originFetch URL: https://<token>@github.com/DEDSEC-Roger/Speaker_Recognition.gitPush  URL: https://<token>@github.com/DEDSEC-Roger/Speaker_Recognition.gitHEAD branch: mainRemote branch:main trackedLocal branch configured for 'git pull':main merges with remote mainLocal ref configured for 'git push':main pushes to main (local out of date)
    

pull

  • 用例:拉取远程分支的更新,使本地分支与远程分支同步up to date
    # pull的对象是某个仓库的某个分支,加上仓库名origin和分支名main更严谨一些
    $ git pull origin main
    remote: Enumerating objects: 7, done.
    remote: Counting objects: 100% (7/7), done.
    remote: Compressing objects: 100% (4/4), done.
    remote: Total 5 (delta 2), reused 0 (delta 0), pack-reused 0
    Unpacking objects: 100% (5/5), 1.27 KiB | 81.00 KiB/s, done.
    From https://github.com/DEDSEC-Roger/Speaker_Recognitionb41da3b..3149ba8  main       -> origin/main
    Updating b41da3b..3149ba8
    Fast-forward...CAPA_TDNN_GLOB_c512-ASTP-emb192-ArcMargin-LM.onnx | Bin 24861931 -> 0 bytesResource/origin.jpg                                  | Bin 1852464 -> 0 bytes2 files changed, 0 insertions(+), 0 deletions(-)delete mode 100644 Model/ECAPA_TDNN_GLOB_c512-ASTP-emb192-ArcMargin-LM.onnxdelete mode 100644 Resource/origin.jpg
    # 此时再查看状态,本地分支的修改还在,而且新增的文件处于Untracked状态
    $ git status
    On branch main
    Your branch is up to date with 'origin/main'.Changes not staged for commit:(use "git add <file>..." to update what will be committed)(use "git restore <file>..." to discard changes in working directory)modified:   Test.pyUntracked files:(use "git add <file>..." to include in what will be committed)Profile/ECAPA_TDNN_GLOB_c512-ASTP-emb192-ArcMargin-LM_Delete/no changes added to commit (use "git add" and/or "git commit -a")
    

push

  • 用例:将本地分支push到远程分支,更新本地分支的修改到远程分支
  • 要push前,可以git remote show对应仓库,如果仓库连不上,git remote show会失败,等成功了,再push,防止中途出问题
    $ git remote show origin
    * remote originFetch URL: https://<token>@github.com/DEDSEC-Roger/Speaker_Recognition.gitPush  URL: https://<token>@github.com/DEDSEC-Roger/Speaker_Recognition.gitHEAD branch: mainRemote branch:main trackedLocal branch configured for 'git pull':main merges with remote mainLocal ref configured for 'git push':main pushes to main (fast-forwardable)
    # push的对象是某个仓库的某个分支,加上仓库名origin和分支名main更严谨一些
    $ git push origin main
    Enumerating objects: 7, done.
    Counting objects: 100% (7/7), done.
    Delta compression using up to 8 threads
    Compressing objects: 100% (4/4), done.
    Writing objects: 100% (4/4), 380 bytes | 380.00 KiB/s, done.
    Total 4 (delta 3), reused 0 (delta 0), pack-reused 0
    remote: Resolving deltas: 100% (3/3), completed with 3 local objects.
    To https://github.com/DEDSEC-Roger/Speaker_Recognition.gitaf33ce1..251eb2b  main -> main
    

.gitignore

  • 用例:指定哪些文件被忽略,只对Untracked状态的文件有用
  • .gitignore不是指令,而是一个文件,在创建GitHub仓库之初,就可以勾选创建.gitignore文件。之后再创建也是可以的,但是创建.gitignore文件前就存在的文件,都处于Tracked状态
  • 不论是在本地分支还是远程分支,不论.gitignore有无指定忽略,Tracked状态的文件发生修改后,都会被git检索出来,参与同步
  • .gitignore文件的语法,和add类似,不再赘述,给出一个小例子
    # Customization
    Audio/**/*.wav
    Model/**/*.onnx
    Profile/**/*.npy# Byte-compiled / optimized / DLL files
    __pycache__/
    *.py[cod]
    *$py.class# C extensions
    *.so
    

rm另一用法

使用前请备份要被删除的文件

  • 用例:将全部文件都变成Untracked状态(.gitignore文件创建前的文件也变成Untracked状态了),然后将全部文件add回去,再commit、push,这样能将.gitignore指定忽略的文件从远程分支全部删除,不被忽略的文件保留
  • 这样做就像是在创建GitHub仓库之初,就创建了.gitignore文件,git clone也不会下载Untracked状态的文件
    $ git rm -r --cached .
    rm '.gitignore'
    rm '.vscode/launch.json'
    rm 'Audio.py'
    rm 'Audio/hzf_certain.wav'
    rm 'Audio/hzf_certain_2.wav'
    ...
    $ git status
    On branch main
    Your branch is up to date with 'origin/main'.Changes to be committed:(use "git restore --staged <file>..." to unstage)deleted:    .gitignoredeleted:    .vscode/launch.jsondeleted:    Audio.pydeleted:    Audio/hzf_certain.wavdeleted:    Audio/hzf_certain_2.wav...
    $ git add .
    $ git status
    On branch main
    Your branch is up to date with 'origin/main'.Changes to be committed:(use "git restore --staged <file>..." to unstage)modified:   Audio.pydeleted:    Audio/hzf_certain.wavdeleted:    Audio/hzf_certain_2.wavdeleted:    Audio/hzf_certain_3.wavdeleted:    Audio/hzf_certain_4.wavdeleted:    Audio/hzf_certain_5.wav...
    $ git commit -m "completely update .gitignore"
    [main fa38978] completely update .gitignore62 files changed, 1673 insertions(+), 1673 deletions(-)delete mode 100644 Audio/hzf_certain.wavdelete mode 100644 Audio/hzf_certain_2.wavdelete mode 100644 Audio/hzf_certain_3.wavdelete mode 100644 Audio/hzf_certain_4.wavdelete mode 100644 Audio/hzf_certain_5.wav...
    $ git push origin main
    

相关文章:

Git实用指令记录

config 用例&#xff1a;对git最先要做的一个操作就是配置用户名和邮箱&#xff0c;否则无法commit查看所有可以config的条目&#xff0c;非常之多$ git config --list core.symlinksfalse core.autocrlftrue core.fscachetrue color.interactivetrue color.uiauto help.forma…...

复杂美公链技术重要特色:平行公链架构

复杂美公链技术Chain33从11月开源至今&#xff0c;获得众多合作方的认可&#xff0c;其中首创的平行公链架构被百度、阿里、360等机构认可并跟进研究&#xff0c;这也说明了平行公链或许是区块链普及应用的重要解决方案之一。 平行公链&#xff08;以下简称平行链&#xff09;是…...

Java——进制转换的一些内容

Java——进制转换的一些内容1.16进制字符串String转字节数组byte[]2.16进制字符串String转10进制数字int3.字节数组byte[]转字符串String4.16进制字符串String-->byte[]-->String&#xff08;使用ByteBuffer转换&#xff09;5.字节数组byte[]转字符数组char[]6.字节byte转…...

使用 Nodejs、Express、Postgres、Docker 在 JavaScript 中构建 CRUD Rest API

让我们在 JavaScript 中创建一个 CRUD rest API&#xff0c;使用&#xff1a;节点.js表达续集Postgres码头工人码头工人组成介绍这是我们将要创建的应用程序架构的架构&#xff1a;我们将为基本的 CRUD 操作创建 5 个端点&#xff1a;创造阅读全部读一个更新删除我们将使用以下…...

电子招标采购系统源码之什么是电子招投标系统?

随着互联网时代的到来&#xff0c;各行业都受到不同的影响&#xff0c;其中招投标行业也不例外。为了顺应互联网潮流的发展&#xff0c;电子招投标逐渐取代传统的纸质的招投标方式&#xff0c;给招标方、投标方、招标代理等各方也带来了前所未有的机遇与挑战。那么什么是电子招…...

匹配文件名称模块glob和fnmatch

匹配文件名称模块glob 1.概述 glob模式规则与re模块的正则表达式规则不大相同&#xff0c;glob模块遵循标准的UNIX路径扩展规则。 fnmatch模块用于根据glob模式比较文件名 2.glob表达式匹配文件名 2.1.测试文件 介绍glob配置规则前&#xff0c;先使用下面的代码创建测试文…...

day12_oop

今日内容 上课同步视频:CuteN饕餮的个人空间_哔哩哔哩_bilibili 同步笔记沐沐霸的博客_CSDN博客-Java2301 零、 复习昨日 一、作业 二、继承 三、重写 四、this和super 五、访问修饰符 零、 复习昨日 局部变量和成员变量什么区别 位置,作用域,初始值,内存位置,生命周期 构造方法…...

在 Flutter 中使用 webview_flutter 4.0 | js 交互

大家好&#xff0c;我是 17。 已经有很多关于 Flutter WebView 的文章了&#xff0c;为什么还要写一篇。两个原因&#xff1a; Flutter WebView 是 Flutter 开发的必备技能现有的文章都是关于老版本的&#xff0c;新版本 4.x 有了重要变化&#xff0c;基于 3.x 的代码很多要重…...

嵌入式ARM工业边缘计算机BL302的CAN总线接口如何设置?

CAN 接口如图所示&#xff0c;输入如下命令&#xff1a; ifconfig -a //查看所有网卡 如果 FlexCAN 驱动工作正常的话就会看到 CAN 对应的网卡接口&#xff0c;如图。从图中可 以看出&#xff0c;有一个名为“can0”的网卡&#xff0c;这个就是 BL302 板上的 CAN1 接口对应的 c…...

Win11系统如何安装Ubuntu20.04(WSL版本)并安装docker

终于还是下定决心去换电脑了……这次采用轻量级的WSL&#xff0c;发现虽然没有占内存的GUI界面&#xff0c;但是编码和阅读文档还是非常nice的 1、首先开启Win11的虚拟机服务 2、下载你期望的Ubuntu服务器&#xff08;这里以20.04为例&#xff09; 安装成功后&#xff0c;发现…...

Elasticsearch和Solr的区别

背景&#xff1a;它们都是基于Lucene搜索服务器基础之上开发&#xff0c;一款优秀的&#xff0c;高性能的企业级搜索服务器。&#xff08;是因为他们都是基于分词技术构建的倒排索引的方式进行查询&#xff09;开发语言&#xff1a;java语言开发诞生时间&#xff1a;Solr2004年…...

如何在北京买房

首先我陈述一点&#xff0c;如果为了买房后再卖掉赚取差价&#xff0c;我这篇文章也许不适合&#xff0c;我这篇文章为整体愿景的发展而设计&#xff0c;为可操作房产的买卖而操作。 买房的愿景&#xff1a; 首先&#xff0c;我们要以一种心态来买房。那就是以始为终的态度&am…...

使用Proxifier+burp抓包总结

一、微信小程序&网页抓包 1. Proxifier简介 Proxifier是一款功能非常强大的socks5客户端&#xff0c;可以让不支持通过代理服务器工作的网络程序能通过HTTPS或SOCKS代理或代理链。 2. 使用Proxifier代理抓包 原理&#xff1a;让微信相关流量先走127.0.0.1:80到burp。具体…...

安装华为aab包的处理方式

1、转换 aab包 为 apks 说明&#xff1a; 1、bundletool-all-1.11.2.jar 转换文件的工具 2、a.aab aab源文件 3、xxx.apks 导入的文件以及路径&#xff08;例如&#xff1a;D:\Android\xxx.apks&#xff09; 4、–ksxxxx.jks 该aab打包所需的jsk文件 5、三条命令为 jsk打包所…...

Word处理控件Aspose.Words功能演示:使用 C++ 将 RTF 文档转换为 PDF

Aspose.Words 是一种高级Word文档处理API&#xff0c;用于执行各种文档管理和操作任务。API支持生成&#xff0c;修改&#xff0c;转换&#xff0c;呈现和打印文档&#xff0c;而无需在跨平台应用程序中直接使用Microsoft Word。此外&#xff0c;API支持所有流行的Word处理文件…...

【Java|多线程与高并发】进程与线程的区别与联系

文章目录什么是进程什么是线程上下文切换多线程一定比串行执行快吗进程与线程的区别与联系什么是进程 进程的定义:进程是正在运行的程序实体&#xff0c;并且包括这个运行的程序中占据的所有系统资源&#xff0c;比如说CPU&#xff08;寄存器&#xff09;&#xff0c;IO,内存&a…...

K8s手工创建kubeconfig

我们通过 kubectl 命令行连接 k8s apiserver 时需要依赖 kubeconfig 文件。 kubeconfig 文件通常包含了 context&#xff08;上下文&#xff09;列表&#xff0c;每个 context 又会引用 cluster 和 user&#xff0c;最后通过 current-context 指定当前 kubeconfig 使用哪个 con…...

【SQL开发实战技巧】系列(十七):时间类型操作(下):确定两个日期之间的工作天数、计算—年中周内各日期出现次数、确定当前记录和下一条记录之间相差的天数

系列文章目录 【SQL开发实战技巧】系列&#xff08;一&#xff09;:关于SQL不得不说的那些事 【SQL开发实战技巧】系列&#xff08;二&#xff09;&#xff1a;简单单表查询 【SQL开发实战技巧】系列&#xff08;三&#xff09;&#xff1a;SQL排序的那些事 【SQL开发实战技巧…...

代码随想录算法训练营第二十八天 | 491.递增子序列,46.全排列,47.全排列 II

一、参考资料递增子序列题目链接/文章讲解&#xff1a;https://programmercarl.com/0491.%E9%80%92%E5%A2%9E%E5%AD%90%E5%BA%8F%E5%88%97.html 视频讲解&#xff1a;https://www.bilibili.com/video/BV1EG4y1h78v 全排列题目链接/文章讲解&#xff1a;https://programmercarl.…...

使用 Three.js 后处理的粗略铅笔画效果

本文使用Three.js的后处理创建粗略的铅笔画效果。我们将完成创建自定义后处理渲染通道、在 WebGL中实现边缘检测、将法线缓冲区重新渲染到渲染目标以及使用生成和导入的纹理调整最终结果的步骤。翻译自Codrops&#xff0c;有改动。 Three.js 中的后处理 Three.js中的后处理是一…...

推荐一些不常见的搜索引擎

5.雅虎网来自 Yahoo.com 的屏幕截图&#xff0c;2023 年 2 月截至 2022 年 1 月&#xff0c;Yahoo.com&#xff08;Verizon Media&#xff09;的搜索市场份额为 11.2%。雅虎的优势在于多元化&#xff0c;除搜索外还提供电子邮件、新闻、金融等服务。二十多年来&#xff0c;雅虎…...

RabbitMQ工作模式

目录1.Work queues工作队列模式1.1 模式说明1.2 代码1.3 测试1.4 小结2.订阅模式类型3.Publish/Subscribe发布与订阅模式3.1 模式说明3.2 代码3.3 测试3.4 小结4.Routing路由模式4.1 模式说明4.2 代码4.3 测试4.4 小结5.Topics通配符模式5.1 模式说明5.2 代码5.3 测试5.4 小结6…...

机器学习在预测脊髓型颈椎病中的应用:一项28名参与者的事后初步研究

机器学习在预测脊髓型颈椎病中的应用:一项28名参与者的事后初步研究 Machine Learning for the Prediction of Cervical Spondylotic Myelopathy: A Post Hoc Pilot Study of 28 Participants 简单说&#xff1a;训练了两个模型&#xff1a;1)预测脊髓型颈椎病诊断&#xff0…...

【智能计算数学】微积分

高数问题解决流程引例&#xff1a;回归回归引例&#xff1a;分类分类线性可分FLD线性不可分智能计算讨论范围下降法为什么要用下降法&#xff1f;- 解析解很难写出公式或很复杂难计算有哪些常用的下降法&#xff1f;- 梯度下降&高斯-牛顿法梯度下降&#xff08;Gradient De…...

win10+RTX4070ti+libtorch部署

环境cuda 11.7、cudnn8.6.0、libtorch1.13.1cu117 注意&#xff1a; 1&#xff09;libtorch官网进不去的可直接下载 Release version https://download.pytorch.org/libtorch/cu117/libtorch-win-shared-with-deps-1.13.1%2Bcu117.zip Debug version https://download.pytorch.…...

【Python百日进阶-Web开发-Vue3】Day518 - Vue+ts后台项目5:用户列表

文章目录 一、获取用户列表的数据1.1 定义用户列表和角色列表的接口src/request/api.ts1.2 获取用户列表数据src/views/UserView.vue二、定义用户列表数据类型2.1 src/type/user.ts三、展示用户列表内容3.1 element-plus中的Select 选择器3.2 element-plus中的表格插槽3.3 展示…...

Linux内核转储---kdump原理梳理

文章目录Kexec和Kdump设计的区别kexeckdumpKdump的执行流程kexec的实现用户空间kexec内核空间vmcoreKdump的实现可以分为两部分&#xff1a;内核和用户工具。内核提供机制&#xff0c;用户工具在这些机制上实现各种转储策略&#xff0c;内核机制对用户工具的接口是一个系统调用…...

【C++】从0到1入门C++编程学习笔记 - 实战篇:演讲比赛流程管理系统

文章目录一、演讲比赛程序需求1.1 比赛规则1.2 程序功能1.3 程序效果图&#xff1a;二、项目创建2.1 创建项目2.2 添加文件三、创建管理类3.1创建文件3.2 头文件实现3.3 源文件实现四、菜单功能4.1 添加成员函数4.2 菜单功能实现4.3 测试菜单功能五、退出功能5.1 提供功能接口5…...

04 OpenCV位平面分解

1 基本概念 位平面分解的核心思想是将图像的每一个像素分解为多个二进制位&#xff0c;分别存储在不同的位平面上。例如&#xff0c;如果一个图像是8位深度的&#xff0c;则可以分解为8个位平面&#xff0c;每个位平面上存储一个二进制位。 位平面分解在图像压缩中有着重要的…...

Onvif协议如何判断摄像机支持 —— 筑梦之路

有人就问什么是Onvif协议呢&#xff1f; 全称为&#xff1a;Open Network Video Interface Forum.缩写成Onvif。 翻译过来是&#xff1a;开放型网络视频接口论坛&#xff0c;目的是确保不同安防厂商的视频产品能够具有互通性&#xff0c;这样对整体安防行业才是良性发展。 现…...

广告网站建设制作设计服务商/企业营销

Areas 提供了一种把大型 ASP.NET Core MVC Web 应用程序分为较小的功能分组的方法&#xff0c;用到了区域那区域路由就必不可少&#xff0c;下面简单实现区域路由的两种方式 1 此方式必须给控制器加上区域属性&#xff0c;也就是路由会自动匹配所有添加路由属性的controller 1 …...

宜宾网站建设费用/营销软文怎么写

本课时我们主要讲解 JVM 的内存划分以及栈上的执行过程。这块内容在面试中主要涉及以下这 3 个面试题&#xff1a; JVM 是如何进行内存区域划分的&#xff1f;JVM 如何高效进行内存管理&#xff1f;为什么需要有元空间&#xff0c;它又涉及什么问题&#xff1f; 带着这 3 个问…...

天津平台网站建设公司/网店运营在哪里学比较好些

异常&#xff1a;就是程序在运行时出现不正常情况。 1、异常由来&#xff1a;问题也是现实生活中一个具体的事物&#xff0c;也可以通过java类的形式进行描述&#xff0c;并封装成对象。 其实就是java对不正常情况进行描述后的对象体现。对于问题的划分&#xff1a;一种是严重的…...

wordpress支持手机端嘛/百度做网站

我从昨晚开始学习Java,现在我正尝试编写我的第一个代码,而这并不受我的要求&#xff01;这是一个简单的测验问题,询问用户“您认为我的狗很可爱吗&#xff1f;”如果他们回答“是”,则狗会发出嘶哑的笑容.如果他们说“不”,他会对他们咆哮并皱眉.如果给出不同的答案,则会打印“…...

怎么给网站图片加alt/重庆seo推广外包

为了方便把安装Zabbix的过程整理成自动化一键部署脚本&#xff0c;有兴趣可以参考&#xff0c;都是些基本的命令&#xff1a; #!/bin/bash#Zabbix 一键部署脚本 #安装zabbix3.4 #for Centos7echo -n "正在配置iptables防火墙……" systemctl stop firewalld > /d…...

网站规划建设与安全管理/免费国外ddos网站

中国剩余定理的具体描述是这样的&#xff1a; 给出你n个ai和mi&#xff0c;最后让求出x的最小值是多少。 中国剩余定理说明&#xff1a;假设整数m1, m2, ... , mn两两互质&#xff0c;则对任意的整数&#xff1a;a1, a2, ... , an&#xff0c;方程组有解&#xff0c;并且通解可…...