001+limou+Git的安装与入门

news2024/11/30 4:56:41

0.前言

  • 您好,这里是limou3434的一篇个人博文,感兴趣的话您也可以看看我的其他文章。本系列主要深入讲解有关Git的基础知识和基础使用,在文章中会结合部分Git网站上推荐的电子书《Pro Git》来对Git进行解读,意在补充书中对您“不友好”的部分,让它变得更加清晰、适合新手。
  • 本次博文主要讲解“版本控制系统”、“Git的基础认知”、“Git的三种状态/三种工作区(重要)”、“Git的下载”、“Git的学习路径”、“Git的Bush界面”、“学Git之前的基础技能”、“Git的三个配置文件(重要)”、“如何在Git的学习中获取帮助”等

1.有关Git知识这一部分

仅作了解即可

1.1.关于版本控制及其分类

  • 版本控制系统即:version control system,简称“VCS”。其中“Version”有“型号、版本的意思”,“control”为“控制”,“system”为“系统”
  • 版本控制是一种“记录一个或若干文件内容变化,以便将来查阅特定版本修订情况”的系统。 有了版本控制系统,只要我们将文件交给其处理,就可以:
    • 回到这份文件(或者整个项目)在某一个版本的状态
    • 也可以比较这些文件在不同版本的变化细节,查看项目出错的原因
    • 利用版本控制,可以在多人合作中提高效率
  • 尽管更多把软件源代码的文件作版本控制,但实际上,可以对任何类型的文件进行版本控制。

总之,版本控制系统是一剂“后悔药”,也是多人合作的“合体技”。

1.1.1.最简单的“版本控制”

直接复制整个项目目录来保存不同的版本,然后加上备份时间以示区别。

  • 优点是容易想到、简单且易操作
  • 缺点是容易犯错、会混淆所在的工作目录(导致写错文件或者覆盖了意想之外的文件)

1.1.2.本地版本控制系统

  • 为了解决上面的问题,很久以前就有许多种本地版本控制系统,而这些版本控制系统大多采用某种简单的数据库来记录文件的历次更新差异。
  • 最流行的本地版本控制系统叫做RCS。RCS的工作原理是在硬盘上保存补丁集(这里的“补丁”是指文件修订前后的变化)。通过应用/叠加所有的补丁,可以重新计算出各个版本的文件内容,借此恢复到某个历史状态。
  • 在很多计算机还有一些RCS部署

1.1.3.集中化版本控制系统

  • 上面的本地版本控制系统解决了个人在保存不同版本的问题,但是还没有办法多人协作,因此诞生了集中化版本控制系统。
  • 多个客户端可以向同一个服务器(这个服务器包含了文件的所有修订版本)检出文件
  • 这种版本控制系统的优点是:每一个人都可以一定程度上了解其他人都在项目中做了什么、服务器的管理员可以精准控制每一个人的权限、维护单一的服务器要比维护每一个客户端的本地数据库要来得简单
  • 但是最大的缺点是:如果这个服务器出现问题了,有可能整个项目的所有记录都没有了

1.1.4.分布式版本控制系统

而分布式版本控制系统则同时解决了上面的出现两个问题

  • 对于每一个分布式版本控制系统来说,客户端检出的文件不仅仅是检出文件的最新状态,而是对整个代码仓库进行一种完整的复制(即一次完整的镜像)。这样任何一个客户端只要曾经镜像过一次代码仓库,哪怕服务器出现问题导致代码仓库遗失,也可以使用客户端的本地镜像来恢复服务器代码仓库
  • 而Git就是其中一款知名的分布式版本控制系统

1.2.Git的历史

这一段历史确实值得一看,您可以看看官网的介绍,这里截取部分供您观看

Linux 内核开源项目有着为数众多的参与者。绝大多数的Linux内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。到2002年,整个项目组开始启用一个专有的分布式版本控制系统BitKeeper来管理和维护代码。到了2005年,开发BitKeeper的商业公司同Linux内核开源社区的合作关系结束,他们收回了Linux内核社区免费使用BitKeeper的权力。这就迫使Linux开源社区(特别是Linux的缔造者LinusTorvalds)基于使用BitKeeper时的经验教训,开发出自己的版本系统。 他们对新的系统制订了若干目标:
1.速度
2.简单的设计
3.对非线性开发模式的强力支持(允许成千上万个并行开发的分支)
4.完全分布式
5.有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)
——摘取自官网的在线电子书1.2节

实际上关于Git和BitKeeper,还有一段令人嘘唏的故事,您可以去了解一下

1.3.Git的基础

1.3.1.Git是记录快照,而非差异比较

Git和其他的版本控制系统有很大的不同

  • 其他的版本控制系统将他们存储的信息看作是:“一组基本文件”+“每个文件随时间积累的差异”
  • Git对待数据不是针对差异,在Git中会把存储的信息看作是:“对小型文件系统的一系列快照”或者说“快照流”,每次提交更新或者保存项目状态的时候,Git会把当时的所有文件创建一个快照,并且保存一份这个快照的索引。
    • 因此,为了效率,如果没有文件发生变动,Git就不再重新存储该文件,而是只保留一个链接指向之前存储的文件

1.3.2.Git近乎所有操作都是本地执行

Git几乎所有操作都是在本地执行的,只需要调动本地文件和资源,一般无需从网络中获取其他计算机的信息和资源(当然clone等需要从网络获取信息和资源的指令除外)。

  • 因此Git的历史记录直接存储在本地磁盘中,这会赋予Git极快的速度(例如查找比较远久的历史记录)
  • 在无网络和断掉VPN的状态下,Git也能执行大部分指令

1.3.3.Git保证完整性

  • 校验和

Git 中所有的数据在存储前都会计算“校验和”,然后以“校验和”来引用。
1.这意味着不可能在Git不知情时更改任何文件内容或目录内容。
2.这个功能建构在Git底层,是构成Git哲学不可或缺的部分
3.若你在传送过程中丢失信息或损坏文件,Git就能发现。
——摘取自官网的在线电子书1.3节

在计算机中“校验和”是一种用于检查数据是否完整、未损坏、未被篡改的方法。可以将校验和看作是一个“数字签名”,它是通过对数据进行特定方式的数学计算,生成了一串长度固定的数字。如果数据在传输或存储过程中发生了变化,那么计算后得到的数字就会与原来的数字不同,从而可以判断数据的完整性。

  • SHA-1散列

Git用以计算“校验和”的机制叫做“SHA-1散列(hash,哈希)”。 这是一个由40个十六进制字符(0-9 和a-f)组成的字符串,基于Git中文件的“内容”或“目录结构”来计算出来。 SHA-1哈希看起来是这样:24b9da6552252987aa493b52f8696cd6d3b00373
——摘取自官网的在线电子书1.3节

其中由这种“SHA-1散列”计算出来的值又叫做“SHA-1值”。实际上,Git数据库中保存的信息都是靠文件内容的“SHA-1”来索引,而不是依靠文件名。文件名对“SHA-1值”的计算毫无影响。

1.3.4.Git一般只添加数据

一旦你提交快照到Git中,就难以再丢失数据,特别是如果你定期的推送数据库到其它仓库的话。
——摘取自官网的在线电子书1.3节

所有Git执行的指令,大部分都只能往Git内“添加”数据,这个“添加”的理解不仅仅是“添加新的数据”,更有可能是添加“删除的状态”等情况,也许这很难理解,但是在经过对Git相关指令的学习你就会明白了。

1.3.5.Git的三种状态和三个工作区

  • 在Git中有三种状态需要你提前了解,你的文件就有可能处于以下三种状态中
    • 已提交(committed)
    • 已修改(modified)
    • 已暂存(staged)
  • 因为这三个状态,也引出了三个工作区(可以理解为三个工作空间)
    • 工作区/索引(Working Directory)
    • 暂存区(Staging Area)
    • Git目录/存储库(.git directory/repository)

工作区是对项目的某个版本独立提取出来的内容。这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。暂存区是一个文件,保存了下次将要提交的文件列表信息,一般在 Git 仓库目录中。 按照 Git 的术语叫做“索引”,不过一般说法还是叫“暂存区”。 Git仓库目录是 Git 用来保存项目的元数据和对象数据库的地方。这是 Git中最重要的部分,从其它计算机克隆仓库时,复制的就是这里的数据。
——摘取自官网的在线电子书1.3节

  • 将三个状态和三个工作区结合起来/在Git中基本的工作流程
    • 在“工作区”中修改检出或新加的文件(此时文件处于“已修改”的状态)
    • 将你想要提交的更改选择性地暂存,这样只会将更改的部分添加到“暂存区”(此时文件处于“已暂存”的状态)
    • 提交更新,找到“暂存区”的文件,将快照永久性存储到“Git目录/存储库”中(此时文件处于“已提交”的状态)

2.Git安装以及下载检查

2.1.下载Git

下载Git并不难,您可以根据您的环境去官方网站找到合适的Git版本直接下载安装(当然,也不是不可以从源码处获取最新版本的Git,这样你会得到最新版本的Git,但是这种安装方式对新手,特别是编程新手并不友好,比较劝退。如果您是老手,请点击这里)

2.2.下载成功后可以检查一下自己的git是否下载成功

$ which git #会出现git的安装路径 $ git --version #会出现git的版本

另外,本文章的所有演示和操作均处在“git version 2.33.1.windows.1”版本下的Bash界面中。

3.Git的学习路径

3.1.对于初入门的新手

这份基础pdf可以研究一下、还有这本基础书《Git从入门到精通》,不过这本书前面写得还好,后面看起来有一点点迷糊起来了,对初学者来说还是需要Google一下才能明白

3.2.也可以选择在官网看

官网有文档、在线电子书、视频来辅助学习,这也是不错的路径

4.进入Bash/GUI界面

首先在想要使用Git托管的文件夹底下右键鼠标,就会出现两个选项:“Git GUI Here”和“Git Bash Here”

  • Git下载后就可以使用命令行来和Git进行交互,而“Git Bash”界面其实就是模拟Linux的知名软件——“Bash”来进行命令行交互的在这里插入图片描述
  • 另外一个选项是Git自带的图形化界面工具,实际上在git官方网站上是有GUI(图形界面)的其他工具的,可以下载一个(比如SourceTree)来玩玩,但是对于Git初学者来说,最主要的还是先从指令来学习。这些图形界面只是方便了解了指令的Git工作者,不见得对初学者有多大的方便之处。在这里插入图片描述

官网中也有提到一个观点:“只有在命令行模式下你才能执行Git的所有命令,而大多数的GUI软件只实现了Git所有功能的一个子集以降低操作难度。如果你学会了在命令行下如何操作,那么你在操作GUI软件时应该也不会遇到什么困难,但是,反之则不成立。此外,由于每个人的想法与侧重点不同,不同的人常常会安装不同的GUI软件,但所有人一定会有命令行工具。”
——摘取自官网的在线电子书1.4节

  • 在学习完所有的Git指令后,你也可以尝试去使用“lazygit”这款在终端里运行的Git工具

5.基础技能一:一些Liux的常用基础命令

虽然在“Git Bash”内使用Git的时候会使用一些基础的Linux指令,但是基本用到的指令都很简单(当然如果您会那真的是太好了,这些指令将对您没有丝毫阻碍),您只需先好好记下下面的几个指令就可以。尤其需要注意的是:请先打开英文输入法!!!

$ cd #切换目录(打开目录)
$ pwd #查看当前所在的文件目录
$ ls #列出当前目录所有文件/文件夹,并且给出文件/文件夹的一些基本信息
$ mkdir #创建新的目录
$ touch #创建新的文件
$ cp #复制文件
$ mv #移动文件
$ rm #删除文件
$ clear #清除当前屏幕内容,有的时候界面上的内容太多了,可以使用这个指令清理一下

6.基础技能二:Vim基础使用

6.1.为何使用vim

vim是git的默认文编辑器(类似与windows中记事本一样的存在,只不过功能比windows自带记事本要强大得多),您可以自己换其他编译器(例如换成VScode),不过对于新手来说暂时不推荐。这是因为作为一名程序员对于vim的熟练使用是一种自我修养,况且我希望在后面保持原滋原味的Git环境,等您熟悉Git的世界后再了解其他的自定义设置也不迟。

6.2.vim的常用模式

vim是在多种模式下处理文本的工具,您可以在不同的模式下输入指令来编辑您的文本,成功下载好Git后,打开Bash界面后,可以使用以下命令来打开vim界面

$ vim text.txt
#创建text.txt文件,并且使用vim编辑,这个时候就会进入vim界面
#注意!打开后先不要动你的键盘

这个时候vim默认进入“命令行模式(Normal模式)”

6.2.1.插入模式(Insert模式)

  • 如果在命令行模式下,键盘输入“i”后就会进入插入模式,这个时候敲击键盘可以把文本插入到文档中
  • 如果在命令行模式下,键盘键入“a”后就会进入插入模式,这个时候如果文本本身有内容,就将光标挪到文本末尾,进行追加输入
  • 如果在命令行模式下,键盘键入“o”后就会新建一行来进行文本输入

6.2.2.命令行模式(Normal模式)

  • 如果在插入模式下,使用命令“esc”就可以回到命令行模式
  • 回到命令行模式后,使用“w”表示存档,vim会对当前文本进行保存
  • 回到命令行模式后,键盘键入“q”就会离开vim界面,如果还有没有存档的文本,vim会给出提醒(若是不需要存档,可以在q前面加上“!”变成“!q”,表示强制退出)
  • 回到命令行模式后,“wq”是上面两个指令的融合,vim会将当前文档保存后离开vim界面

7.Git的配置文件

7.1.config工具

Git自带一个“git config”的工具来控制Git的外观和行为的配置变量,每一台计算机只要配置一次,哪怕下次软件更新也会保留这些配置信息。

7.2.修改三个位置的配置文件

这些配置变量存储在三个不同的位置,但是它们的作用范围不同

7.2.1.配置系统级别:“/etc/gitconfig文件”

这是Git系统级别的配置文件,包含系统上每一个用户及他们仓库的通用配置。如果你在执行“git config”命令时带上了“–system”选项,Git就会读写该文件中的配置变量。而因为它是系统级别的配置文件,所以需要管理员或超级用户的权限才能修改它。

# 使用例子
$ sudo git config --system user.name "Your Name" 
$ sudo git config --system user.email "youremail@example.com

7.2.2.配置用户级别:“/.gitconfig或/.config/git/config文件”

这是针对当前用户的配置文件。你可以传递“–global”选项让Git读写此文件,这样会对你系统上所有的仓库生效

# 使用例子 
$ git config --global user.name "Your Name"

7.2.3.配置仓库级别:“.git/config文件”

这是针对当前仓库的配置文件。默认情况下,Git 会用它,它只对当前用户拥有仓库有效。你可以传递“–local”选项让Git强制读写此文件,虽然默认情况下用的就是它(当然,你需要进入某个Git仓库中才能让该选项生效)

$ git config --local user.name "Your Name" 
$ git config --local user.email "youremail@example.com"

7.3.查看三个位置的配置文件

7.3.1.查看系统级别:“/etc/gitconfig”文件内容

$ git config --system --list #这个命令会列出系统级别Git配置文件(通常是“/etc/gitconfig”)中的所有配置变量和值

当然你也可以选择去电脑文件夹内查看,以下是windows环境下默认的存放位置
在这里插入图片描述

7.3.2.查看用户级别:“$HOME/.gitconfig”文件内容

$ git config --global--list #这个命令会列出全局Git配置文件(“$HOME/.gitconfig”或“$XDG_CONFIG_HOME/git/config”)中的所有配置变量和值

同样的,你也可以选择查看您电脑用户下的配置文件,如果您再windows有多个账户,可能就会有多份这样的文件(如果您看不到“.gitconfig”这样的文件,则需要勾选“查看隐藏选项”)
在这里插入图片描述
在这里插入图片描述

7.3.3.查看仓库级别:“.git/config”文件内容

$ git config --local --list #这个命令会列出当前仓库中所有的配置变量和值

如果您经过后面的命令成功创建了一个由Git管理的库,可以在这个库里“.git”里查看您当下这个仓库的配置(如果您看不到“.git”这样的文件夹,则需要勾选“查看隐藏选项”)
在这里插入图片描述

7.3.4.查看单独的某个配置

需要注意的是,如果你想查看某个特定的配置变量的值,可以在以上命令的后面添加变量名。

$ git config user.name #这个命令会输出当前设置的用户名(默认最小范围)
#如果变量的前面加上“--local”、“--global”、“--system”选项,则会分别查找对应的配置文件中的该变量的值

7.3.5.查看所有配置

$ git config --list #这个命令可以查看当前Git的所有配置信息 
$ git config --show-orgin --list #这个命令会比上面的命令更加详细,会给出所有配置的同时,给出这些配置的所在的位置

7.4.在文件中修改和查看配置

上面介绍的三种配置,本质其实也是文件,所以也可以通过编辑这些文件来修改Git的相关配置信息。但需要谨慎操作,避免产生不可预知的后果。如果您不确定如何编辑这些文件,请尽可能使用“git config”这个命令来进行配置。

7.5.下载Git后的基础配置

下面来根据前面的内容来配置您的Git中的一些基础配置

7.5.1.设置用户身份

这一步非常重要,因为Git的每一步提交都需要用到这些信息,而且还会被写入到所创建的提交中,不可更改。

$ git config --global user.name "yourname" 
$ git config --global user.email "youremail" 
# 当然,如果你想在在这个项目中使用不同的用户名和用户邮箱,也可以换成“--local”选项,只为当前这个仓库设置用户名和用户邮箱(当然你也可以直接什么选项都不带,直接写成“git config user.name "…"”或者“git config user.email "…"”。即:直接去掉“--global”选项和加上“--local”选项的行为在本命令中是一样,只不过对于新手来说,把参数写全更加容易理解而已)

7.5.2.设置个人编辑器

这里我推荐不配置,使用Git自带的Vim编辑器即可,当然如果您觉得使用Vim的过程实在太过于繁琐,您也可以尝试改一下这个配置(但是注意,为了本文的普遍性,后续的文本编辑过程都会采用Vim,如果您使用了其他编辑器,其操作部分应由您妥善负责)

$ git config --global core.editor "写下你要的编辑器的安装路径"

7.5.3.检查个人设置

$ git config --show-orgin --list 
#这个命令可以列出当前Git可以找到的所有配置变量和所处文件,当然您也可以根据我们上面讲解的三个配置文件的内容来一一查看配置信息

8.获取帮助

8.1.离线获取帮助

  • help指令

直接使用

$ git help <某些不理解的命令> #输入后就会打开一个html文档,里面是对相关指令的解读

当然您也可以写成下面这种形式,也同样会打开帮助文档

$ git <某些不理解的指令> --help

这个命令还有个简化版,可以直接在Bash的界面内输出帮助信息

$ git <某些不理解的命令> -h
  • man指令

另外也可以使用man指令(但是注意,在windows环境下并不支持,因为这是Linux下的一个指令,除非您在windows下有设置Linux的相关配置,因此这条指令只能在Linux环境或Linux的虚拟机等环境下使用)

$ man git <某些不理解的指令>

8.2.在线获取帮助

  • 在官网查询或者Google一下

在学习的过程中你不能太懒,“Google一下是可以的”

  • 在Freenode IRC服务器上的#git或#github 频道寻求帮助

如果你觉得手册或者本书的内容还不够用,你可以尝试在 Freenode IRC 服务器 https://freenode.net 上的#git 或 #github 频道寻求帮助。 这些频道经常有上百人在线,他们都精通 Git 并且乐于助人。
——摘取自官网的在线电子书1.7节

9.总结

恭喜您,成功踏入Git的学习门槛,下面我们来总结一下我们今天所学

  • 您已经知道了什么是版本控制系统,并且明白Git是其中的一种
  • 您已经有了对Git的一些基础认知,知道它是怎么来的,也明白了Git的工作模式和特点(包括Git的三种状态/三种工作区等)
  • 相信您已经成功下载了Git(没有下载好也不必气馁,有必要的活,我也可以给您出一篇博文来讲解,当然我更加建议您Google一下,这样的文章有很多)
  • 我和您阐述了有关Git的学习路径,让您明白下一步要学什么(当然,如果仍旧糊涂,不妨在我的Git栏目里继续看下去)
  • 您知道Git的Bush界面长什么样子了吧?
  • 认识了一些在学Git之前的基础技能,认识了一些基本的Linux的基本指令和Vim操作
  • 我还和您详细解释了Git的三个配置文件的位置及其它们的作用范围
  • 最后我们还探讨了如何在Git的学习中获取帮助

最后,愿与君共勉。

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

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

相关文章

Java 面试 | RabbitMQ(2023版)

文章目录 rabbitmq1、为什么要使用rabbitmq2、rabbitmq如何确保消息发送?消息接收?3、RabbitMQ的构造4、Exchange交换器的类型5、RabbitMQ的持久化6、RabbitMQ消息发送和接收过程7、如何保证消息队列的高可用8、如何处理消息丢失的情况9、如何保证消息没有重复消费10、如何保…

Shell系统编程三剑客之----sed编辑器

目录 一:sed编辑器 1.sed编辑器概述 2.sed的工作流程 3.sed的命令格式 4.常用选项 5.常用操作 二&#xff1a;sed操作事例 1.查询 &#xff08;1&#xff09;打印内容 ​&#xff08;2&#xff09;打印行数 ​&#xff08;3&#xff09;打印特殊字符、ASCII码 &…

python爬虫简述

Python爬虫是一种自动化获取互联网数据的技术&#xff0c;它可以通过编写程序自动访问网站并抓取所需的数据。在本文中&#xff0c;我们将介绍Python爬虫的基础知识、常用库和实际应用。 一、Python爬虫的基础知识 爬虫的定义 爬虫是一种自动化获取互联网数据的技术&#xf…

屏幕录像怎么录?分享3个简单实用的方法!

案例&#xff1a;怎么录制电脑屏幕&#xff1f; 【对于我这种不太熟悉电脑的人来说&#xff0c;想要录制电脑屏幕十分困难。听说录制电脑屏幕&#xff0c;需要用到录屏工具。有没有小伙伴有好的录屏软件介绍&#xff0c;顺便附带一下教程&#xff01;求&#xff01;】 屏幕录…

【冶金轧钢、电厂 JL-8B/E集成电路电流继电器 CMOS运算 JOSEF约瑟】

JL-8B/E集成电路电流继电器名称:集成电路电流继电器型号:JL-8B/E触点容量250V5A功率消耗&#xff1c;5W返回系数过电流:0.90.97;欠电流:1.051.15整定范围0.03~60A 系列型号&#xff1a; JL-8A/E集成电路电流继电器; JL-8B/E集成电路电流继电器&#xff1b; JL-8A/E11-004集成电…

[离散数学]命题逻辑与推理

目录 主析取范式 主合取范式推理理论(假设前提条件为真推出的结论)真值表法直接证明法** 常用推理公式 ** 间接证明 CP规则--附加前提证明法&#xff0c;证明比较方便 单条件形式&#xff0c;提取前件间接法 归谬法 结论是单命题&#xff0c;取反前提引入 常用 latex 定义 主析…

Druid未授权漏洞进一步的利用

一、漏洞描述 Druid是阿里巴巴数据库出品的为监控而生的数据库连接池。并且Druid提供的监控功能包括监控SQL的执行时间、监控Web URI的请求、Session监控等。Druid本身是不存在什么漏洞的&#xff0c;但当开发者配置不当时就可能造成未授权访问。本文除了介绍Druid未授权漏洞之…

js 使用正则获取 html中 所有span标签

let html <p>艾迪莎测试但大家还是</p><h1>你好啊</h1><p>啊是多久啊合适的<span style"text-decoration: underline;">静安寺</span>大家哈圣诞节<span style"text-decoration: underline;">哈桑</s…

企业需要专业电子邮件地址的4大原因

专业的企业电子邮件地址具有贵公司的自定义域名&#xff0c;而不是通用的Zoho Mail 、gmail或yahoo帐户&#xff0c;例如&#xff1a;john stargardening.com 大多数初学者使用不带域名的通用免费企业电子邮件帐户&#xff0c;这不是很专业。例如&#xff1a;zhangsan2022zoho.…

从零开始Vue3+Element Plus后台管理系统(六)——状态管理Pinia和持久化

Pinia 官网&#xff1a;https://pinia.vuejs.org/zh/ Pinia 是 Vue 的专属状态管理库&#xff0c;相比Vuex更好用&#xff0c;优点不多了说官网有&#xff0c;用起来最重要&#xff01; 在应用的根部注入创建的 pinia // main.ts import { createApp } from vue import { c…

CLMP证书:让你在职场中脱颖而出的秘密武器!

CLMP证书是一种精益管理专业证书&#xff0c;是针对精益管理领域的专业人士和学生的培训项目&#xff0c;旨在提高他们在精益管理方面的技能和知识。那么&#xff0c;CLMP证书的含金量高吗&#xff1f;接下来我们来探讨一下。 CLMP证书的优势体现 首先&#xff0c;CLMP证书的…

Android Jetpack Compose之使用脚手架快速搭建APP布局结构

概述 现在市场上大多数的手机APP的通用布局结构都是顶部有个顶部导航栏&#xff0c;底部有个底部导航栏&#xff0c;例如抖音的布局结构&#xff1a; 点击导航栏里面的各个项又可以跳转到相应的页面&#xff0c;现在这种结构特别流行&#xff0c;如果我们使用传统的View来实现…

Web自动化测试-如何进行Selenium页面数据及元素交互?教你一步不漏。

目录 前言&#xff1a; 一、Selenium简介 二、安装Selenium 1.Windows用户安装Selenium 2.安装Chrome浏览器驱动 三、使用Selenium进行页面数据及元素交互 1.启动浏览器 2.访问网页 3.查找元素 4.输入文本 5.点击按钮 6.提交表单 四、完整代码示例 五、总结 Web自…

(MIT6.045)自动机、可计算性和复杂性-DFA和NFA

毕业论文写完了。找点事干干。 佛系更新。 这是一门讲述 什么是计算&#xff1f;什么能被计算&#xff1f;怎么高效计算&#xff1f; 的哲学、数学和工程问题的课程。 主要包括&#xff1a; 有限状态机&#xff08;Finite Avtomata&#xff09;&#xff1a;简单的模型。 可…

【OpenCV-Python】——机器学习kNN算法SVM算法k均值聚类算法深度学习图像识别对象检测

目录 前言&#xff1a; 1、机器学习 1.1 kNN算法 1.2 SVM算法&#xff08;支持向量机&#xff09; 1.3 k均值聚类算法 2、深度学习 2.1 基于深度学习的图像识别 2.2 基于深度学习的对象检测 总结&#xff1a; 前言&#xff1a; 机器学习&#xff08;ML&#xff09;是人…

Linux-权限

1. 认识Linux下用户的分类 root普通用户1.1用户切换 普通用户 转 root su //当前路径切换rootsu - //重新登陆到/root退出 crtl d / exit root 转 普通用户 不需要输入密码 su 用户名退出 ctrl d 1. 2 指令暂时提权 sudo command目前我们用adduser新建的用户&#xff0…

100个软件开发领域必须掌握的关键词,掌握一个都难啊

需要完整xmind文件&#xff0c;私信获取 100个软件开发领域必须掌握的关键词 基础编程语言 JavaPythonC#JavaScriptPHPRubyCObjective-CSwiftKotlin Web 开发 HTMLCSSJavaScriptReactAngularVue.jsjQueryBootstrapNode.jsExpress.js 移动应用开发 AndroidiOSFlutterRea…

100万数据,如何快速的导入数据库?

数据导出、导入是非常常见的开发操作&#xff0c;但在这个过程中&#xff0c;很多开发者都会遇到诸如数据乱码、数据格式不支持、数据量太大等问题。NineData 最新发布的数据导入功能&#xff0c;帮助用户在保障数据完整和准确的同时&#xff0c;轻松地将大量的数据从文件中导入…

利用项目管理工具实现项目日程安排:技巧与步骤详解

到 2022 年&#xff0c;我们可能会发现自己在思考过去的生活&#xff0c;以及我们的工作常规是否会回到原来的样子。我们中的一些人觉得我们过去常常完成更多的工作&#xff0c;而且我们中的许多人都在努力保持精神健康&#xff0c;同时保持工作效率。平衡我们的工作生活和个人…

深兰科技|功能迭代!metamind APP发布v1.2版本

以目前AI的技术水平&#xff0c;只要样本足够多&#xff0c;模仿一个人的面容、声音、语气&#xff0c;可以达到相似度90%以上。假设未来科技足够发达&#xff0c;能够通过记录一个人一生的数据来“复活”他&#xff0c;你会怎么选择&#xff1f;而如果你没有足够多的属于自己的…