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 用例:对git最先要做的一个操作就是配置用户名和邮箱,否则无法commit查看所有可以config的条目,非常之多$ git config --list core.symlinksfalse core.autocrlftrue core.fscachetrue color.interactivetrue color.uiauto help.forma…...

复杂美公链技术重要特色:平行公链架构
复杂美公链技术Chain33从11月开源至今,获得众多合作方的认可,其中首创的平行公链架构被百度、阿里、360等机构认可并跟进研究,这也说明了平行公链或许是区块链普及应用的重要解决方案之一。 平行公链(以下简称平行链)是…...
Java——进制转换的一些内容
Java——进制转换的一些内容1.16进制字符串String转字节数组byte[]2.16进制字符串String转10进制数字int3.字节数组byte[]转字符串String4.16进制字符串String-->byte[]-->String(使用ByteBuffer转换)5.字节数组byte[]转字符数组char[]6.字节byte转…...

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

电子招标采购系统源码之什么是电子招投标系统?
随着互联网时代的到来,各行业都受到不同的影响,其中招投标行业也不例外。为了顺应互联网潮流的发展,电子招投标逐渐取代传统的纸质的招投标方式,给招标方、投标方、招标代理等各方也带来了前所未有的机遇与挑战。那么什么是电子招…...
匹配文件名称模块glob和fnmatch
匹配文件名称模块glob 1.概述 glob模式规则与re模块的正则表达式规则不大相同,glob模块遵循标准的UNIX路径扩展规则。 fnmatch模块用于根据glob模式比较文件名 2.glob表达式匹配文件名 2.1.测试文件 介绍glob配置规则前,先使用下面的代码创建测试文…...
day12_oop
今日内容 上课同步视频:CuteN饕餮的个人空间_哔哩哔哩_bilibili 同步笔记沐沐霸的博客_CSDN博客-Java2301 零、 复习昨日 一、作业 二、继承 三、重写 四、this和super 五、访问修饰符 零、 复习昨日 局部变量和成员变量什么区别 位置,作用域,初始值,内存位置,生命周期 构造方法…...
在 Flutter 中使用 webview_flutter 4.0 | js 交互
大家好,我是 17。 已经有很多关于 Flutter WebView 的文章了,为什么还要写一篇。两个原因: Flutter WebView 是 Flutter 开发的必备技能现有的文章都是关于老版本的,新版本 4.x 有了重要变化,基于 3.x 的代码很多要重…...

嵌入式ARM工业边缘计算机BL302的CAN总线接口如何设置?
CAN 接口如图所示,输入如下命令: ifconfig -a //查看所有网卡 如果 FlexCAN 驱动工作正常的话就会看到 CAN 对应的网卡接口,如图。从图中可 以看出,有一个名为“can0”的网卡,这个就是 BL302 板上的 CAN1 接口对应的 c…...

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

Elasticsearch和Solr的区别
背景:它们都是基于Lucene搜索服务器基础之上开发,一款优秀的,高性能的企业级搜索服务器。(是因为他们都是基于分词技术构建的倒排索引的方式进行查询)开发语言:java语言开发诞生时间:Solr2004年…...
如何在北京买房
首先我陈述一点,如果为了买房后再卖掉赚取差价,我这篇文章也许不适合,我这篇文章为整体愿景的发展而设计,为可操作房产的买卖而操作。 买房的愿景: 首先,我们要以一种心态来买房。那就是以始为终的态度&am…...

使用Proxifier+burp抓包总结
一、微信小程序&网页抓包 1. Proxifier简介 Proxifier是一款功能非常强大的socks5客户端,可以让不支持通过代理服务器工作的网络程序能通过HTTPS或SOCKS代理或代理链。 2. 使用Proxifier代理抓包 原理:让微信相关流量先走127.0.0.1:80到burp。具体…...
安装华为aab包的处理方式
1、转换 aab包 为 apks 说明: 1、bundletool-all-1.11.2.jar 转换文件的工具 2、a.aab aab源文件 3、xxx.apks 导入的文件以及路径(例如:D:\Android\xxx.apks) 4、–ksxxxx.jks 该aab打包所需的jsk文件 5、三条命令为 jsk打包所…...
Word处理控件Aspose.Words功能演示:使用 C++ 将 RTF 文档转换为 PDF
Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。此外,API支持所有流行的Word处理文件…...

【Java|多线程与高并发】进程与线程的区别与联系
文章目录什么是进程什么是线程上下文切换多线程一定比串行执行快吗进程与线程的区别与联系什么是进程 进程的定义:进程是正在运行的程序实体,并且包括这个运行的程序中占据的所有系统资源,比如说CPU(寄存器),IO,内存&a…...
K8s手工创建kubeconfig
我们通过 kubectl 命令行连接 k8s apiserver 时需要依赖 kubeconfig 文件。 kubeconfig 文件通常包含了 context(上下文)列表,每个 context 又会引用 cluster 和 user,最后通过 current-context 指定当前 kubeconfig 使用哪个 con…...
【SQL开发实战技巧】系列(十七):时间类型操作(下):确定两个日期之间的工作天数、计算—年中周内各日期出现次数、确定当前记录和下一条记录之间相差的天数
系列文章目录 【SQL开发实战技巧】系列(一):关于SQL不得不说的那些事 【SQL开发实战技巧】系列(二):简单单表查询 【SQL开发实战技巧】系列(三):SQL排序的那些事 【SQL开发实战技巧…...

代码随想录算法训练营第二十八天 | 491.递增子序列,46.全排列,47.全排列 II
一、参考资料递增子序列题目链接/文章讲解:https://programmercarl.com/0491.%E9%80%92%E5%A2%9E%E5%AD%90%E5%BA%8F%E5%88%97.html 视频讲解:https://www.bilibili.com/video/BV1EG4y1h78v 全排列题目链接/文章讲解:https://programmercarl.…...

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

网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...

C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)
引言 工欲善其事,必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后,我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集,就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...

elementUI点击浏览table所选行数据查看文档
项目场景: table按照要求特定的数据变成按钮可以点击 解决方案: <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...
Oracle11g安装包
Oracle 11g安装包 适用于windows系统,64位 下载路径 oracle 11g 安装包...
用 Rust 重写 Linux 内核模块实战:迈向安全内核的新篇章
用 Rust 重写 Linux 内核模块实战:迈向安全内核的新篇章 摘要: 操作系统内核的安全性、稳定性至关重要。传统 Linux 内核模块开发长期依赖于 C 语言,受限于 C 语言本身的内存安全和并发安全问题,开发复杂模块极易引入难以…...