你可能不知道的20个Git命令,但真的很实用

news2024/11/18 13:54:00

如果您曾经浏览过git 手册(或 run man git),那么您会注意到 git 的功能比我们大多数人每天使用的要多得多。很多这些命令都非常强大,可以让你的生活更轻松(其他命令有点小众,但仍然很高兴知道)。

这篇文章概述了我最喜欢的 20 个未充分使用的 git 功能,您可以使用它们来提升您的开发过程,给您的同事留下深刻印象,帮助您回答 git 面试问题,最重要的是 - 玩得开心!

主要包含以下的命令

  • Git Web -打开内置 GUI
  • Git注释 -将额外信息附加到提交
  • Git Bisect -像专业人士一样调试
  • Git Grep -搜索任何东西
  • Git Archive -压缩项目以供共享
  • Git 子模块-将其他存储库导入您的
  • Git错误报告-使用系统信息编译错误报告
  • Git Fsck -验证和恢复无法访问的对象
  • Git Stripspace -删除尾随空格
  • Git Diff -比较两个文件之间的变化
  • Git Hooks -在运行 git 命令时执行脚本
  • Git Blame -显示给定行的作者
  • Git Large File Storage -在 git 中存储大文件
  • Git Garbage Collection -优化你的 git repo
  • Git Show -轻松检查任何 git 对象
  • Git Describe -根据最后一个标签给出可读的名称
  • Git Tag -在特定点创建版本标签
  • Git Reflog -列出在回购上所做的所有 git 操作
  • Git Log -查看提交日志和分支图
  • Git Cherry Pick-将功能拉入您的分支
  • Git Switch -在分支之间快速跳转
  • 奖励-使用更多命令扩展 git!

接下来详细聊聊这些命令

1、网页版

运行git instaweb以立即浏览 gitweb中的工作存储库

Git 有一个内置的基于 Web 的可视化工具,用于浏览本地存储库,它允许您通过浏览器中的 GUI 查看和管理您的存储库。它包含许多有用的功能,包括:

  • 浏览和单步执行修订并检查差异、文件内容和元数据
  • 可视化查看提交日志、分支、目录、文件历史和附加数据
  • 生成提交和存储库活动日志的 RSS或 Atom 提要
  • 搜索提交、文件、更改和差异

要打开它,只需git instaweb从您的存储库中运行即可。您的浏览器应该会弹出并加载http://localhost:1234. 如果你没有安装 Lighttpd,你可以用-dflag 指定一个替代的 web 服务器。其他选项可以通过标志(如-p端口、-b浏览器打开等)或在[instaweb]git 配置中的块下配置。

还有一个git gui命令,可以打开一个基于GUI 的 git应用程序

2、Git 笔记

用于git notes向提交添加额外信息

有时您需要将其他数据附加到 git 提交(除了更改、消息、日期时间和作者信息之外)。

注释存储在 中.git/refs/notes,并且由于它与提交对象数据分开,您可以随时修改与提交关联的注释,而无需更改 SHA-1 哈希。

git log您可以使用大多数 git GUI 应用程序或git notes show命令查看注释。一些 git 主机还在提交视图中显示注释(尽管GH 不再显示注释)。

3、Git 一分为二

您可以使用git bisect二进制搜索找到引入错误的提交

这是最强大但易于使用的 git 命令之一 - bisect 在调试时绝对是救命稻草。在开始对分后,它会为您检查提交,然后您告诉它提交是good(没有错误)或bad(引入错误),这可以让您缩小出现错误的最早提交的范围。

要开始,运行git bisect start然后传递给它一个已知的好提交git bisect good <commit-hash>和一个已知的坏提交(默认为当前)git bisect bad <optional-hash>。然后它将检查好提交和坏提交之间的提交,然后您指定 bug 存在的天气与git bisect good或git bisect bad。然后它会重复这个过程,在好与坏的中心检查一个提交,一直到你找到引入错误的确切提交。随时取消git bisect reset。

bisect 命令还有更多功能,包括回放、查看提交、跳过,因此下次调试时值得查看文档。

3、Git Grep

用于git grep在您的存储库中搜索代码、文件、提交或任何其他内容

有没有发现自己需要在 git项目中的任何地方搜索字符串?Ctrl使用 git grep,您可以轻松地在整个项目中和跨分支(例如更强大的+ F!)搜索任何字符串或RegEx。

git grep <regexp> <ref>

它包含大量选项来缩小搜索范围或指定结果格式。例如,用于-l仅返回文件名、-c指定要返回的每个文件的匹配数、-e排除匹配条件的结果、--and指定多个条件、-n使用行号进行搜索。

由于 git grep与正则表达式兼容,因此您可以使用搜索的字符串获得更多高级信息。您还可以使用它来指定文件扩展名,例如git grep 'console.log' *.js它将显示 JavaScript文件中的所有console.logs

第二个参数是一个 ref,可以是分支名称、提交、提交范围或其他任何内容。例如git grep "foo" HEAD~1将搜索以前的提交。


4、Git 存档

用于git archive将整个存储库合并到一个文件中

共享或备份存储库时,通常首选将其存储为单个文件。使用 git archive 将包括所有 repo 历史记录,因此可以轻松将其提取回其原始形式。该命令还包括许多附加选项,因此您可以准确自定义存档中包含和不包含的文件。

git archive --format=tar --output=./my-archive HEAD

5、Git 子模块

用于git submodule将任何其他存储库拉入您的存储库

在 git 中,子模块让您可以将一个存储库挂载到另一个存储库中,通常用于核心依赖项或将组件拆分到单独的存储库中。有关详细信息,请参阅这篇文章。

运行以下命令会将模块拉入指定位置,并创建一个.gitmodules文件,以便在克隆 repo 时始终下载该文件。克隆 repo 时使用--recursive标志来包含子模块。

git submodule add https://github.com/<user>/<repo> <path/to/save/at>

还有git subtree,它做类似的事情,但不需要元数据文件。

6、Git 错误报告

用于git bugreport编写错误票,包括 git 和系统信息

此命令将捕获系统信息,然后打开一个标准错误模板(重现步骤、实际 + 预期输出等)。完成的文件应该是一个非常完整的错误报告,包含所有必要的信息。

如果您是开源包的维护者并要求用户(开发人员)提出错误报告,这将非常方便,因为它确保包含所有必要的数据。

如果你向核心 git 系统提出错误报告,你也可以运行git diagnose命令,然后在这里提出你的问题。

7、git fsck

用于git fsck检查所有对象,或恢复无法访问的对象

虽然不经常需要,但有时您可能必须验证 git 存储的对象。这就是 fsck(或文件系统检查)发挥作用的地方,它测试对象数据库并验证所有对象的 SHA-1 ID 及其建立的连接。

它还可以与--unreachable标志一起使用,以查找不再可以从任何命名引用访问的对象(因为与其他命令不同,它包括 中的所有内容.git/objects)。

8、Git 条带空间

用于git stripspace格式化给定文件中的空格

最佳做法是避免在行尾尾随空格,避免有多个连续的空行,避免输入的开头和结尾出现空行,并以新行结束每个文件。有很多特定于语言的工具可以自动为您执行此操作(例如 prettier),但 Git 也内置了此功能。

它用于元数据(提交消息、标签、分支描述等),但如果您将文件通过管道传输给它,然后将响应通过管道传输回文件,它也可以工作。例如cat ./path-to-file.txt | git stripspace或git stripspace < dirty-file.txt > clean-file.txt

您还可以使用它来删除注释(使用--strip-comments),甚至注释掉行(使用--comment-lines)。

9、Git 差异

你git diff可以比较2组代码之间的区别

您可能知道您可以运行git diff以显示自上次提交以来的所有更改,或者用于git diff <commit-sha>比较 2 次提交或 1 次提交到 HEAD。但是您可以使用 diff 命令做更多的事情。

您还可以使用它来比较任意两个任意文件,diff file-1.txt file-2.txt(不再访问diffchecker.com!)

或者比较 2 个分支,或者相互引用,使用git diff branch1..branch2

请注意,双点 ( ..) 与空格相同,表示差异输入应该是分支的尖端,但您也可以使用三点 ( ...) 将第一个参数转换为共享共同祖先提交的引用在两个差异输入之间 - 非常有用!如果只想跨分支比较单个文件,只需将文件名作为第三个参数传递。

您可能希望查看在给定日期范围内所做的所有更改,对于此用途git diff HEAD@{7.day.ago} HEAD@{0}(上周),同样可以将其与文件名、分支名称、特定提交或任何其他参考配对。

还有一个git range-diff命令,它提供了一个用于比较提交范围的简单界面。

git diff 工具还有更多功能(以及使用您自己的差异检查器的选项),因此我建议您查看 文档。

10、Git 钩子

用于hooks在发生给定的获取操作时执行命令或运行脚本

Hooks 可以让你自动化几乎所有的事情。例如:确保满足标准(提交消息、分支名称、补丁大小)、代码质量(测试、lint)、将附加信息附加到提交(用户、设备、票证 ID)、调用 webhook 来记录事件或运行管道等

大多数 git 事件都有前置和后置钩子,比如提交、变基、合并、推送、更新、应用补丁等。

钩子存储在.git/hooks(除非你在别处配置它们git config core.hooksPath),并且可以使用git hook命令进行测试。由于它们只是 shell 文件,因此可用于运行任何命令。

钩子不会被推送到远程存储库,因此要在您的团队中共享和管理它们,您需要使用钩子管理器,例如lefthook或husky。还有几个3rd-party 工具,可以让管理钩子更容易,我推荐overcommit。

请记住,挂钩总是可以跳过(使用--no-verify标志),所以永远不要纯粹依赖挂钩,尤其是对于任何与安全相关的事情。

11、Git 责备

用于git blame显示特定修订和行的作者信息

一个经典的,快速找出谁写了特定代码行(也就是你的哪个同事应该为这个错误负责!)。但它也有助于确定在哪个时间点发生了某些更改并检查该提交和关联的元数据。

例如,要查看 index.rs 第 400 到 420 行的作者和提交信息,您可以运行:

git blame -L 400,420 index.rs

12、Git 语言文件系统

存储大文件git lfs,以免拖累您的存储库

您的项目通常会包含较大的文件(例如数据库、二进制资产、档案或媒体文件),这会减慢 git 工作流程并使使用限制达到最大。这就是大型文件存储的用武之地——它使您能够将这些大型资产存储在其他地方,同时使它们可以通过 git 进行跟踪并保持相同的访问控制/权限。LFS 的工作原理是将这些较大的文件替换为在 git 中跟踪的文本指针。

要使用它,只需运行git lfs track <file glob>,这将更新您的.gitattributes文件。您可以通过扩展名(例如*.psd)、目录或单独指定文件。运行git lfs ls-files以查看跟踪的 LFS 文件列表。

13、垃圾收集器

用于git gc优化您的存储库

随着时间的推移,git repos 会积累各种类型的垃圾,这些垃圾会占用磁盘空间并减慢操作速度。这就是内置垃圾收集器的用武之地。运行git gc将删除孤立的和不可访问的提交(使用git prune),压缩文件修订和存储的 git 对象,以及一些其他一般的内务处理任务,如打包引用、修剪引用日志、尊重元数据或陈旧工作树和更新索引。

添加--aggressive标志将积极优化存储库,丢弃任何现有的增量并重新计算它们,这需要更长的时间才能运行,但如果您有一个大型存储库,则可能需要。

14、Git 显示

用于git show轻松检查任何 git 对象

以易于阅读的形式输出对象(blob、树、标签或提交)。要使用,只需运行git show <object>. 您可能还想附加--pretty标志,以获得更清晰的输出,但还有许多其他选项可用于自定义输出(使用--format),因此此命令非常强大,可以准确显示您需要的内容。

这非常有用的一个实例是在另一个分支中预览文件,而无需切换分支。赶紧跑git show branch:file

15、Git 描述

用于git describe查找可从提交中访问的最新标记,并为其指定一个人类可读的名称

运行git describe,您将看到一个人类可读的字符串,该字符串由最后一个标记名称与当前提交组合而成,以生成一个字符串。您还可以将特定标签传递给它,

请注意,除非您附加--all标志,否则您必须已创建标签才能正常工作。默认情况下,Git describe 也只会使用带注释的标签,因此您必须指定--tags标志以使其也使用轻量级标签。

16、Git 标签

使用标记回购历史中的特定点git tag

能够标记存储库历史记录中最常用于表示发布版本的特定重要点通常很有用。创建标签就像 一样简单git tag <tagname>,或者您可以使用 标记历史提交git tag -a v4.2.0 <commit sha>。与提交一样,您可以在标签旁边包含一条消息,使用-m.

不要忘记将您的标签推送到远程,使用git push origin <tagname>.要列出所有标签,只需运行git tag,并可选择-l用于通配符搜索。然后你就可以检查一个特定的标签,git checkout <tagname>

17、Git 刷新日志

使用列出对您的回购所做的所有更新git reflog

Git 使用称为参考日志或“reflogs”的机制跟踪分支尖端的更新。跟踪各种事件,包括:克隆、拉取、推送、提交、检出和合并。能够找到事件引用通常很有用,因为许多命令都接受引用作为参数。只需运行git reflog即可查看 上最近发生的事件HEAD。

reflog 真正有用的一件事是恢复丢失的提交。Git 永远不会真正丢失任何东西,即使是在重写历史时(比如变基或提交修改)。Reflog 允许您返回提交,即使它们没有被任何分支或标记引用。

默认情况下 reflog 使用HEAD(您当前的分支),但您可以在任何 ref 上运行 reflog。例如git reflog show <branch name>,或查看隐藏的更改git reflog stash。或显示所有参考资料git reflog show --all

18、Git 日志

用于git log查看提交列表

您可能已经熟悉运行git log以查看当前分支上最近提交的列表。但是您可以使用 git log 做更多的事情。

使用git log --graph --decorate --oneline将显示一个漂亮整洁的提交图以及 ref 指针。

您还经常需要能够根据各种参数过滤日志,其中最有用的是:

  • git log --search="<anything>"- 搜索特定代码更改的日志
  • git log --author="<pattern>"- 仅显示特定作者的日志
  • git log --grep="<pattern>"- 使用搜索词或正则表达式过滤日志
  • git log <since>..<until>- 显示两个引用之间的所有提交
  • git log -- <file>- 显示仅对特定文件进行的所有提交

或者,只运行git shortlog汇总的提交列表。

19、Git 樱桃采摘

用于git cherry-pick通过引用选择指定的提交并将它们附加到工作 HEAD

有时你需要从其他地方拉一个特定的提交到你当前的分支。这对于应用热修复、撤消更改、恢复丢失的提交以及在某些团队协作设置中非常有用。请注意,通常传统的合并是更好的做法,因为挑选提交会导致日志中出现重复提交。

用法很简单,只需运行git cherry-pick <commit-hash>. 这会将指定的提交拉入当前分支。

20、Git 开关

利用git switch

在分支之间移动是我们经常做的事情,该switch命令就像是简化版的git checkout,它可以用于创建和在分支之间导航,但不像 checkout 在您在分支之间移动时不会复制修改的文件。

与 类似checkout -b,使用 switch 命令,您可以附加-c标志以创建一个新分支,然后直接跳入其中,例如git switch -c <new branch>. 运行git switch -将放弃您所做的任何实验性更改,并返回到您之前的分支。

21、Git 站会

用于git standup根据 git commits 回忆你在上一个工作日做了什么

我把这个放在最后,因为它不包含在大多数 git 客户端中,但是您可以使用系统包管理器、使用 1 行 curl 脚本或通过从源代码构建来轻松安装它。

如果您的老板要求您每天站立一次,以更新昨天的工作,但您永远记不起自己到底做了什么——这个适合您!它将显示一个格式良好的列表,列出在给定时间范围内完成的所有事情。用法很简单,只需运行git standup,或使用这些选项指定应显示哪些数据(作者、时间范围、分支等)。

22、奖金

Git 可以通过附加组件轻松扩展,以添加执行有用任务的额外命令。最完整的扩展之一是@tj的git-extras。它为您提供了 70 多个额外的命令来自动执行常见的 git 作业。

有关更有用的 git 附加组件的列表,请参阅
stevemao/awesome-git-addons。

如果您正在使用 GitHub 存储库,那么GitHub CLI让您可以从命令行执行常见任务(管理 PR、问题、代码审查等)。

如果你正在学习前端,Git是一定要开始学习的,我们在讲完html标签属性之后就开始给大家讲解了git和markdown使用!上次和大家分享Git命令很多同学表示看不懂,不能理解!的确才开始学习Git不适合用这样复杂的方法,可以通过先通过鼠标操作的方式学习,很荣幸我们的30天课程设计在教大家入门Git的时候就是鼠标操作的,如果需要相关教程,可以私聊我!

为帮助到一部分同学不走弯路,真正达到一线互联网大厂前端项目研发要求,首次实力宠粉,打造了《30天挑战学习计划》,内容如下:

HTML/HTML5,CSS/CSS3,JavaScript,真实企业项目开发,云服务器部署上线,从入门到精通

  • PC端项目开发(1个)
  • 移动WebApp开发(2个)
  • 多端响应式开发(1个)

共4大完整的项目开发 !一行一行代码带领实践开发,实际企业开发怎么做我们就是怎么做。从学习一开始就进入工作状态,省得浪费时间。

从学习一开始就同步使用 Git 进行项目代码的版本的管理,Markdown 记录学习笔记,包括真实大厂项目的开发标准和设计规范,命名规范,项目代码规范,SEO优化规范

从蓝湖UI设计稿 到 PC端,移动端,多端响应式开发项目开发

  • 真机调试,云服务部署上线;
  • Linux环境下 的 Nginx 部署,Nginx 性能优化;
  • Gzip 压缩,HTTPS 加密协议,域名服务器备案,解析;
  • 企业项目域名跳转的终极解决方案,多网站、多系统部署;
  • 使用 使用 Git 在线项目部署;

这些内容在《30天挑战学习计划》中每一个细节都有讲到,包含视频+图文教程+项目资料素材等。只为实力宠粉,真正一次掌握企业项目开发必备技能,不走弯路 !

过程中【不涉及】任何费用和利益,非诚勿扰 。

如果你没有添加助理老师微信,可以添加下方微信,说明要参加30天挑战学习计划,来自CSDN!老师会邀请你进入学习,并给你发放相关资料。

30 天挑战学习计划 Web 前端从入门到实战 | arry老师的博客-艾编程

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

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

相关文章

QT-QStackedWidget多窗口应用

前言&#xff1a; 多窗口应用&#xff0c;例如某微信&#xff0c;页面由1&#xff0c;2&#xff0c;3个布局组成。 1-基本流程 页面1控制页面2&#xff0c;通过选择页面1上的按钮或控件 页面2控制页面3&#xff0c;通过选择页面2上的按钮或控件 2-其中页面2中的页面很…

100、【树与二叉树】leetcode ——105. 从前序与中序遍历序列构造二叉树+106. 从中序与后序遍历序列构造二叉树(C++版本)

106. 从中序与后序遍历序列构造二叉树 题目描述 原题链接&#xff1a;106. 从中序与后序遍历序列构造二叉树 解题思路 中序的特点&#xff1a;左中右&#xff0c;后序的特点&#xff1a;左右中。因此可通过后序序列找到中间结点&#xff0c;然后再根据中间结点&#xff0c;分…

3、关键词与标识符

目录 一、关键词 二、标识符 一、关键词 C语言中有32个关键字&#xff1a; 注意&#xff1a;在C语言中&#xff0c;关键字是不允许作为标识符出现在程序中的。 二、标识符 C语言标识符的命名规则&#xff1a; &#xff08;1&#xff09;所有标识符必须由字母或下画线开头…

KMP算法 看这一篇就够了 图解刨析+代码

目录 问题背景 逐步剖析 KMP如何优化暴力做法 思考 公共前后缀 next数组 如何构建next数组: 代码实现 问题背景 给定一个字符串 S&#xff0c;以及一个模式串P&#xff0c; P 在字符串 S 中多次作为子串出现。 求出模式串 P 在字符串 S 中所有出现的位置的起始下标。 …

说话人识别中的Temporal pooling(时序池化)

概述 Temporal pooling&#xff08;时序池化&#xff09;是说话人识别神经网络中&#xff0c;声学特征经过frame-level变换之后&#xff0c;紧接着会进入的一个layer。目的是将维度为(bs,F,T)(bs,F,T)(bs,F,T)的特征图&#xff0c;变换成维度为(bs,F)(bs,F)(bs,F)的特征向量 …

再不来看看常用的PyCharm快捷键就out了,玩转PyCharm仅此一篇!

最近在学习Python的数据可视化项目&#xff0c;在大学有学过Python&#xff0c;还有一些基础的。目前虽说已经工作&#xff0c;但是兴趣使然&#xff0c;依然想在空闲时间学一些其他技能来充实自己&#xff0c;未雨绸缪&#xff01; 在使用工具的时候&#xff0c;必定会对工具有…

【话题:工作生活】2021年工作总结--这些人,那些事。

Hello Everyone&#xff0c; 我又开始撰写自己的工作总结了。2021年的工作总结&#xff0c;拖得太久&#xff0c;拖得我也不想写了。每次写自己一年的工作总结&#xff0c;总是要耗费我大量的时间与心力&#xff0c;有时&#xff0c;我也真的是心好累。 好了&#xff0c;懒散、…

【人工智能原理自学】隐藏层:神经网络为什么Working

&#x1f60a;你好&#xff0c;我是小航&#xff0c;一个正在变秃、变强的文艺倾年。 &#x1f514;笔记来自B站UP主Ele实验室的《小白也能听懂的人工智能原理》。 &#x1f514;本文讲解隐藏层&#xff1a;神经网络为什么Working&#xff0c;一起卷起来叭&#xff01; 目录一、…

深度学习 11 梯度下降算法改进

数据初始化要点: 1. 梯度下降算法的三种方式: 批量梯度下降法(batch)&#xff0c;即同时处理整个训练集.小批量梯度下降法&#xff08;Mini-Batch &#xff09;每次同时处理固定大小的数据集.随机梯度下降法&#xff08;stochastic gradient descent&#xff09;, 每次随机选…

acwing基础课——约数

由数据范围反推算法复杂度以及算法内容 - AcWing 常用代码模板4——数学知识 - AcWing 基本思想&#xff1a; 首先&#xff0c;约数&#xff0c;又称因数。整数a除以整数b(b≠0)除得的商正好是整数而没有余数&#xff0c;我们就说a能被b整除&#xff0c;或b能整除a。a称为b的…

怎样才能过好这一生?

文章目录1. 日拱一卒&#xff0c;功不唐捐1.1 适当的时候给自己一个奖励1.2 一个人可能走的更快&#xff0c;但一群人才能走的更远1.3 通过一些事情去逼自己一把1.4 从真理中去感悟1.5 当你面临绝路时2. 梦想的意义不在于实现3. 孤独4. 烦恼5. 别总说来日方长6. 忍和韧性7. 事情…

【linux kernel】linux内核重要函数 | do_initcalls

文章目录一、导读二、do_initcalls三、构造section并添加函数&#xff08;3-1&#xff09;构造初始化调用section&#xff08;3-2&#xff09;向section中添加函数四、总结一、导读 在linux内核启动过程中&#xff0c;会向终端打印出很多的日志信息&#xff0c;从这些日志信息…

c++开源协程库libgo介绍及使用

协程这个概念&#xff0c;最近这几年可是相当地流行了。尤其 go 语言问世之后&#xff0c;内置的协程特性&#xff0c;完全屏蔽了操作系统线程的复杂细节。甚至使 go 开发者“只知有协程&#xff0c;不知有线程”了。当然 C也有高性能的协程库&#xff0c;比如我了解到的微信的…

基于微信小程序的企业职工薪资查询系统小程序

文末联系获取源码 开发语言&#xff1a;Java 框架&#xff1a;ssm JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7/8.0 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.3.9 浏览器…

卷积神经网络(CNN)详细介绍及其原理详解

文章目录前言一、什么是卷积神经网络二、输入层三、卷积层四、池化层五、全连接层六、输出层七、回顾整个过程总结前言 本文总结了关于卷积神经网络&#xff08;CNN&#xff09;的一些基础的概念&#xff0c;并且对于其中的细节进行了详细的原理讲解&#xff0c;通过此文可以十…

自动(智能)驾驶 | 4D雷达的数据集

上篇文章分享了关于Oculii 4D雷达的两篇报告。数据集是一个非常重要的研究工具&#xff0c;对于4D雷达领域来说&#xff0c;处于一个研究前沿的位置&#xff0c;鲜有公开的数据集&#xff0c;目前能找到的数据集有&#xff1a; 这些文章中的数据集有不少博主也写过&#xff0c…

S1000D规范导读

S1000D最初是由欧洲航空工业联盟开发的技术出版物规范&#xff0c;它主要为具有较长生命的复杂产品运行和维修而设计。这些年不断发展&#xff0c;已经扩展到这些行业的产品&#xff1a;国防系统 - 包括海、陆、空的产品&#xff0c;民用航空产品&#xff0c;基建行业产品和船舶…

15/365 java static final

1.static属性,方法 类内属性或方法用static修饰&#xff0c;表示该属性或方法属于类&#xff0c;不依赖于实例对象&#xff0c;所以不需要用对象调用&#xff0c;而是直接用类名调用。 static方法只能调用其他static方法&#xff0c;而普通方法可以调用其他的普通方法和stati…

Vue3商店后台管理系统设计文稿篇(二)

记录使用vscode构建Vue3商店后台管理系统&#xff0c;这是第二篇&#xff0c;主要记录Vue3中生命周期钩子&#xff0c;模板语法&#xff0c;以及相关的代码 文章目录一、Vue3生命周期二、Vue3模板语法三、代码展示正文内容&#xff1a; 一、Vue3生命周期 每个 Vue 实例在被创建…

拆机详解2:比Macintosh还早?苹果Lisa拆解

hello大家好&#xff0c;我是每天&#xff08;实际并不是每天&#xff0c;你们点的赞太少了&#xff0c;每人点一个赞我就日更&#xff09;给你们讲解的Eric_Bells.这里感谢博主半身风雪的支持&#xff0c;我会更新的&#xff01;看到的麻烦点个关注谢谢拉 今天唠唠一台比Maci…