Git--基础学习--面向企业--持续更新

一、基础学习

1.1基本命令

//查询基础信息
git config --global --list  

//选取合适位置创建
mkdir 文件名 //创建文件夹
//全局配置
git config --global user.email "****e@***i"
git config --global user.name "*** K****"

//--------------------进入指定目录后
//初始化仓库
git init                       
或
//初始化名为...的仓库
git init +仓库名                 
或
//克隆远程仓库
git clone  +仓库地址          
//此时可能会显示   目录名 main 代表在main分支

ls -a                         //查看目录文件  
 

1.2工作区域和文件状态

本地数据管理:

  • 工作区:(Working Directory)电脑本地的目录
  • 暂存区:(Staging Area)临时存储区域,保存即将push到仓的文件。
  • 本地仓库:(Local Repository)包含完整的项目历史和原始数据,git存储版本信息和代码的主要位置。

文件状态:

  • Untrack 未跟踪
  • Unmodifiled 未修改
  • Modified 已修改
  • Staged 已暂存
git status      //查看仓库状态  文件状态

git add +文件路径  //将文件提交到暂存区

git rm --cached <file>  //将文件移除暂存区

git commit     -m +"描述的信息"       //提交暂存区的文件

git log //查看提交记录
或者
git log --oneline  //简洁信息

echo + 内容 +文件名 //将内容写入文件
cat +文件名   //读取文件

1.3修改操作

git reset --soft +版本id  //回退版本,保留工作区和暂存区的内容
git reset --hard  +版本id  //回退版本,不保留工作区和暂存区的内容
git reset --mixed +版本id//回退版本,保留工作区但不保留暂存区的内容(默认参数)
git reset --soft HEAD~1//回退到当前分支的上一次提交

比如我们git log查看提交历史

commit 7e4558c35e12a8f102d7215c5fce2462eb738bff (HEAD -> bias_draw, origin/bias_draw)

commit 9d5dceae74e5fa9a2e63e8f31520bde3993d5f0f (origin/carChange, carChange)

commit ab95103b9015c43242a364baa385b9565d40168a (master)


如果想回退可以
git reset --soft 7e4558c35e12a8f102d7215c5fce2462eb738bff

二、分支(Branch)

2.1 基本概念

可以视为代码库的不同版本。

  • 可以从当前的开发线中分割出一个新的开发线,从而在不影响原来开发线的过程中,开发并提交代码,等到新的开发线开发完成,可以一次性加入原开发线,即进行分支合并操作。
  • 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。
  • 现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。

适合团队协作和团队管理。每个开发人员在自己的分支上进行开发。
查看分支可以下载一个名为Git Graph的插件(VScode中的商店)。

2.2 使用

默认git中只有一个主分支master,head就指向master

                head
                  |
                master    
                  |
        x----x----x

    每次提交master分支都会向前移动一步,这样,随着你不断提交,master分支的线也越来越长                                    
                     head
                       |
                     master    
                       |
        x----x----x----x


    当我们创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交,
    再把HEAD指向dev,就表示当前分支在dev上:
        创建分支:
            $ git branch dev
            $ git checkout dev
            或
            $ git checkout -b dev
            -b参数表示创建并切换
        用git branch命令查看当前分支
            $git branch

                     master    
                       |
        x----x----x----x
                       |
                      dev
                       |
                     head
                     
    Git创建一个分支很快,因为除了增加一个dev指针,改改HEAD的指向,工作区的文件都没有任何变化!
    从现在开始,对工作区的修改和提交就是针对dev分支了,比如新提交一次后,dev指针往前移动一步,
    而master指针不变
        创建文件:
            test2.txt
                creating a new branch is quick.
        提交:
            $ git add test2.txt
            $ git commit -m "branch test"
    
                     master    
                       |
        x----x----x----x----x
                            |
                           dev
                            |
                           head

    如我们在dev上的工作完成了,就可以把dev合并到master上。Git怎么合并呢?
    最简单的方法,就是直接把master指向dev的当前提交,就完成了合并:
        切换回主分支
            $git checkout master

                      head
                       |
                     master    
                          |
        x----x----x----x----x
                            |
                           dev
                           
        把dev分支的工作成果合并到master分支上。git merge命令用于合并指定分支到当前分支。
        此时采用的是快速合并策略。
            $git merge dev

                           head
                            |
                          master    
                               |
        x----x----x----x----x
                            |
                           dev


​ 合并完分支后,甚至可以删除dev分支。删除dev分支就是把dev指针给删掉,删掉后,我们就剩下了一条master分支:
​ 删除dev分支:
​ $ git branch -d dev
​ 查看branch:
​ $ git branch

                           head
                            |
                          master    
                            |
        x----x----x----x----x

2.3 合并冲突

当多个分支之间的进行合并时,可能会产生冲突,需要对冲突解决后才能合并分支

    创建新的分支feature1
        $ git checkout -b feature1

    修改文件:        
        test2.txt
            creating a new branch is quick and simple.

    在feature1分支上提交:        
        $ git add test2.txt
        $ git commit -m "AND simple"

    切换到master分支:
        $ git checkout master

    修改文件:
        test2.txt
            Creating a new branch is quick & simple.
    在master分支上提交:        
        $ git add test2.txt
        $ git commit -m "& simple"

    这种情况下,Git无法执行“快速合并”,只能试图把各自的修改合并起来,但这种合并就可能会有冲突:
        $ git merge feature1

    Git告诉我们,test2.txt文件存在冲突,必须手动解决冲突后再提交。git status也可以告诉我们冲突的文件:
        $ git status

    修改如下后保存:
        Creating a new branch is quick and simple.

    再提交:
        $ git add test2.txt 
        $ git commit -m "conflict fixed"

    用带参数的git log也可以看到分支的合并情况:
        $ git log --graph --pretty=oneline --abbrev-commit

    最后,删除feature1分支:
        $ git branch -d feature1

    冲突解决。

2.4 强制禁止快速合并策略

通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。
如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。

    创建dev分支:
        $ git checkout -b dev

    修改文件:        
        test2.txt
            creating a new branch is quick and simple xxx.
    提交:
        $ git add readme.txt 
        $ git commit -m "add merge"    

    切换回master:
        $ git checkout master

    强制禁止快速合并模式,合并分支:
        $ git merge --no-ff -m "merge with no-ff" dev

2.5 多人协作

在多人使用远程仓库进行工作时,往往在同一个分支上的操作会存在冲突,此时需要远程冲突合并
多人协作的工作模式通常是这样:
1.首先,可以试图用git push origin 推送自己的修改;
2.如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
3.如果合并有冲突,则解决冲突,并在本地提交;
4.没有冲突或者解决掉冲突后,再用git push origin 推送就能成功!
5.如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to origin/

另外有一种情况,当你已经开发了一部分功能的时候。别的分支推送并合并了新功能。
可以通过说stash进行文件暂存再拉取。

git stash //将文件添加到暂存区
紧接着
git pull origin 分支名  //拉远程仓库到本地
git stash pop //取出暂存文件

三、远程仓库

3.1 新建远程仓库

使用GitHub、码云、GitLab等,码云相当于国内的GitHub,在国内访问速度高于GitHub

3.2关联远程仓库

3.2.1git全局配置

git config --global user.name "**** ****"
git config --global user.email *******@*****"

3.2.2 三种情况

a 本地无仓库

创建一个文件夹中初始化一个本地仓库

mkdir gitee_essay    创建一个名为gitee_essay的文件夹
cd gitee_essay
git init             初始化仓库
touch README.md 
如果 filename 指定的文件已经存在,touch 会更新该文件的最后访问时间和最后修改时间为当前系统时间。
如果 filename 指定的文件不存在,touch 将会创建一个名为 filename 的新的空文件。
git add touch README.md          添加到暂存区
git commit -m 'first commit'     提交

 git remote add 连接名 远程仓库链接     添加远程仓库连接,关联本地仓库
 --------------------------------------------------------------------------------
git remote add origin https://devops.momenta.works/Momenta/apa_simulator/_git/apa-simulator-web-app
---------------------------------------------------------------------------------
                            
git push -u origin "master"    push到远程仓库
1、把当前分支的提交推送到名为 origin 的远程仓库上。
2、"master" 是要推送的本地分支的名称。
3、使用 -u 设置追踪信息,为未来的 pull 和 push 命令配置默认的远程分支,即把本地的 "master" 分支与远程的 "master" 分支关联起来。

在 Git 命令 git push -u origin "master" 中,-uorigin 代表以下含义:

  • -u--set-upstream 的简写。这个选项的作用是将本地分支与远程分支关联起来,以便于将来的 git pullgit push 操作可以省略分支参数。使用 -u 参数后,Git 将记录下你推送时指定的远程仓库和分支,以后你只需要运行 git pushgit pull 即可自动同步当前分支。
  • origin 是远程仓库的默认名称。当你克隆一个仓库时,Git 自动为其创建一个名为 origin 的远程引用,指向你克隆的仓库。它是远程仓库的别名,在大多数情况下,origin 代表了项目主仓库的位置。
b本地已有仓库
cs 仓库文件夹 
git remote add 连接名 远程仓库链接     添加远程仓库连接,关联本地仓库
 --------------------------------------------------------------------------------
git remote add origin https://devops.momenta.works/Momenta/apa_simulator/_git/apa-simulator-web-app
---------------------------------------------------------------------------------
                            
git push -u origin "master"    push到远程仓库
c、 clone远程仓库
git clone 远程仓库链接

推荐荐使用此方式,简洁优雅

例如:

git clone https://github.com/user/repo.git

这个命令会完成以下操作:

  1. 在当前目录下创建一个名为 repo 的文件夹。
  2. 初始化一个新的 Git 仓库在这个 repo 文件夹内。
  3. 添加远程仓库引用到新的 Git 仓库配置里,默认远程仓库名称是 origin
  4. 拉取远程仓库 origin 的所有数据(包括所有分支和标签)。
  5. 根据远程仓库的默认分支(通常是 mastermain),检出该分支的一个副本到新仓库的工作目录。

因此,在你完成 git clone 后,不需要再手动添加远程仓库链接;它已经被配置好了,并且可以直接使用 git pushgit pull 来与克隆源进行同步。如果你想要查看已配置的远程仓库信息,可以使用以下命令:

git remote -v

这个命令会列出所有远程仓库的 URL,包括用于 fetch(拉取)和 push(推送)的 URL。

3.2.3 远程仓库操作

查看远程仓库连接
git remote -v
添加远程仓库链接
git remote add 连接名 远程仓库链接
拉取文件到本地

在进行拉取之前要先提交本地仓库,达到“working tree clear”状态

检查本地仓库的状态,拉取前先保证本地仓库为“完美状态”(working tree clean)

git status      //查看仓库状态  文件状态
git pull 连接名 远程仓库分支名
比如 
git pull origin master   从远程仓库origin 拉到本地分支master
推送文件至远程仓库
git push 连接名 远程仓库分支名
git push origin dev

在进行推送之前要先进行拉取,保证自己本地仓库的内容是最新的

在本地仓库新建一个文件,或者更新了文件

先拉取
git pull 连接名 远程仓库分支名
git pull origin dev   从远程仓库origin 拉取到远程仓库分支,再同步到本地分支dev

再提交
git add 文件名
git commit -m "描述信息"

再推送
git push 连接名 远程仓库分支名
git push origin dev
使用 git branch 命令创建一个新的分支,例如名称为 feature-branch:

git branch feature-branch

git branch //可以查询分支

之后,您可以使用 git checkout 命令切换到您刚刚创建的新分支:

git checkout feature-branch
或者,您可以用单行命令结合创建和切换分支的步骤:
git checkout -b feature-branch

这个 -b 参数告诉 Git 如果分支不存在就创建它,并且切换到该分支。

从 Git 版本 2.23 开始,您也可以使用 git switch 命令来切换分支:
要切换到现有分支:
sh
git switch existing-branch
要创建并切换到新分支:
sh
git switch -c feature-branch


git branch -d 分支名
  • 在切换分支之前,确保所有更改都已提交或暂存,否则未提交的变更可能会随您切换到新分支。
  • 使用 git status 来检查您的工作目录状态。
  • 使用 git branch 查看所有分支并确认当前所在分支。

3.2.4推送冲突

当多个人操作远端仓库,对同一文件操作,内容不一致时会在推送时发生冲突。

例如,有A、B两个本地仓库,都链接到了同一个远程仓库,并对master分支下的Gitee.txt文件操作

A先提交并推送(没有问题)

B在提交推送前的拉取时,出现修改冲突(fix conflicts……)

查看B中的Gitee.txt文件,箭头符号包含的部分是冲突的内容

四、分支操作–公司协作

新创建的仓库,默认会有一个master分支,一般不会在master分支上添加版本,而是会建立一套分支系统,在各自的分支上推送内容,称为工作流。

4.1基本操作

创建分支

git branch 分支名

查看分支

git branch

创建newline分支并查看,分支名前面带“*”,表示当前所处分支

在这里插入图片描述

切换分支

建议在切换分支之前,先提交本分支的内容到本地,以免造成混乱,不知道什么分支的内容没有提交。另外,从master分支切换到其他分支,其他分支会复制一份master分支的内容到本分支。

git checkout 分支名

在这里插入图片描述

已切换到newline分支,但是本地仓库文件未发生变化,是因为该分支复制了一份master分支的内容

在这里插入图片描述

4.2 更新文件

在newline分支新建一个文件,并提交至版本库,然后切换回master分支

在这里插入图片描述

master分支并没有newline分支的文件

在这里插入图片描述

4.3推送到远程仓库

同样,推送分支前先检查本地仓库该分支下的状态是否为“完美状态”

git push 远程仓库链接名 分支名

推送newline分支至远程仓库

在这里插入图片描述

可以看到远程仓库已有newline分支

在这里插入图片描述

4.4合并分支

在合并分支之前,先检查本地各分支的状态是否为“完美状态”

git merge 分支名

现在在本地仓库下,有三个分支,分别是master、moreline、newline,每个分支下分别自己独有的文件

在这里插入图片描述

三个分支,都达到“完美状态”

合并newline分支和moreline分支。需要注意的是,合并分支前要先切换到newline分支下,即合并A、B分支,要先切换到A分支

在这里插入图片描述

合并分支后,newline分支有两个分支合并后的内容

合并分支后,将合并后的分支newline,推送到远端,当然推送前需先拉取

在这里插入图片描述

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

另外,合并分支后,被合并的分支并不会消失。切换到该分支,还能看到该分支下的独有内容,如果在该分支下创建文件并推送到远端。之前虽然合并过分支,但并不会同步地增加被合并分支新增的文件内容。如有需要,还需再次合并。

总结
(1)可以设置SSH公钥的方式连接远程仓库,更安全方便;

(2)使用Git命令窗口操作,虽然简洁高效,但非常容易操作失误(如文件未加入暂存区、未提交至版本库、分支未提交等等),可以使用tortoisegit,是一款专门为Git提供可视化操作的工具(官网:https://download.tortoisegit.org/tgit/)

五、Merge和rebase(待更新)

merge(合并)

rebase

rebase
rebase和merge区别

六、提交完毕以后创建PR(Pull Request)

1、推送您的本地分支到远程仓库(如果还没有推送的话),如下所示:

git push origin your-branch-name
2、访问远程仓库的网页,例如 https://github.com/user/repo。

3、您通常会在仓库的首页看到一个按钮提示您创建 Pull Request。如果您刚刚推送了一个新分支,GitHub 会自动检测到这一点,并可能提供一个快速创建 PR 的选项。

4、如果没有自动提示,您可以转到 "Pull requests" 标签页,并点击 "New pull request" 按钮。

5、在创建 PR 的页面上,选择正确的基础分支(base branch,即您希望代码被合并进去的目标分支),以及要合并的主题分支(compare branch,即您的工作分支)。

6、填写 Pull Request 的标题和描述,清晰地说明您的更改内容以及为何进行这些更改。

7、确认无误后,点击 "Create pull request" 按钮提交您的请求。

提交 Pull Request 后,项目维护者或其他贡献者会审查代码,并可能提出修改建议。根据反馈,您可能需要更新您的分支以解决问题或作进一步的更改。一旦审查通过,Pull Request 就可以被合并到目标分支中。

如果提交pr,leader说代码仍然需要修改。
重复操作 提交一个新创建的文件

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SHViT:具有内存高效宏设计的单头视觉Transformer

文章目录 摘要1、引言2、分析与方法2.1、宏观设计中的冗余分析2.2、微观设计中的冗余分析2.3、单头自注意力2.4、单头视觉转换器 3、实验3.1、实现细节3.2、SHViT在ImageNet-1K分类任务上的表现3.3、SHViT在下游任务中的表现3.4、消融研究 4、相关工作5、结论SHViT&#xff1a;…

python-opencv实现最近邻插值和双线性插值对图片上采样

使用背景 当我们需要把图像进行放大或者缩小的时候&#xff0c;第一反应是使用resize()实现。很多情况下&#xff0c;我们会调用最近邻插值和双线性插值去放大图片&#xff0c;当然要说没有分辨率的损失那是不可能的&#xff0c;只能说在放大图片的过程中尽可能增加了图片的分…

免费的一键伪原创工具,用来高效写文章真妙!

写文章是一件耗时间、费精力的事&#xff0c;遇到没有写作灵感的时候&#xff0c;写文章就像嚼蜡一样难受&#xff0c;但好在有免费的一键伪原创工具&#xff0c;它能帮助我们高效率实现自动写作文章&#xff0c;并且整个写作的过程我们无需思考内容怎么去写&#xff0c;是可以…

自动驾驶传感器篇: GNSSIMU组合导航

自动驾驶传感器篇&#xff1a; GNSS&IMU组合导航 1.GNSS1.1 GNSS 系统概述1.2 GNSS系统基本组成1. 空间部分&#xff08;Space Segment&#xff09;&#xff1a;2. 地面控制部分&#xff08;Ground Control Segment&#xff09;&#xff1a;3. 用户设备部分&#xff08;Use…

x86 64位的ubuntu环境下汇编(无优化)及函数调用栈的详解

1. 引言 为了深入理解c&#xff0c;决定学习一些简单的汇编语言。使用ubuntu系统下g很容易将一个c的文件编译成汇编语言。本文使用此方法&#xff0c;对一个简单的c文件编译成汇编语言进行理解。 2.示例 文件名&#xff1a;reorder_demo.cpp #include<stdio.h>typede…

摩尔定律仍在延续|从最新1.6nm工艺节点看芯片发展-2

2nm工艺的斗争还没结束&#xff0c;TSMC台积电就又公开宣布了1.6nm&#xff08;TSMC A16TM&#xff09;半导体工艺&#xff0c;太卷了&#xff01; TSMC A16TM技术采用领先的纳米片晶体管&#xff0c;并结合创新的背侧电源轨方案&#xff0c;计划于2026年投入生产。这种设计极…

【项目】YOLOv8/YOLOv5/YOLOv9半监督ssod火灾烟雾检测(YOLOv8_ssod)

假期闲来无事找到一份火灾烟雾数据集&#xff0c;自己又补充标注了一些&#xff0c;通过论文检索发现现在的火灾检测工作主要局限于对新场景的泛化性不够强&#xff0c;所以想着用半监督&#xff0c;扩充数据集的方法解决这个问题&#xff0c;所以本文结合使用现在检测精度较高…

成功案例丨守“鲜”有道 Fortinet为都乐筑就全球安全防护网

作为全球知名的跨国食品企业&#xff0c;都乐业务遍布各大洲。在各种新兴业务模式层出不穷的数字化时代&#xff0c;都乐面临着生产持续性、安全运营、供应链安全等严峻的网络安全挑战。通过采用Fortinet的FortiSIEM、FortiMail等系列Fortinet Security Fabric安全平台生态产品…

DaVinci Resolve Studio 19(达芬奇19调色剪辑)win/mac激活版

DaVinci Resolve Studio是一个结合专业的8k 编辑&#xff0c;颜色混合&#xff0c;视觉效果和音频后期制作的软件。只需点击一下&#xff0c;你就可以立即在编辑、混音、特效和音频流之间切换。此外&#xff0c;达芬奇解决(达芬奇)是一个多用户协作的解决方案&#xff0c;使编辑…

Swift - 基础语法

文章目录 Swift - 基础语法1. 常量1.1 只能赋值1次1.2 它的值不要求在编译时期确定&#xff0c;但使用之前必须赋值1次1.3 常量、变量在初始化之前&#xff0c;都不能使用 2. 标识符3. 常用数据类型4. 字面量4.1 布尔4.2 字符串4.3 整数4.4 浮点数4.5 数组4.6 字典 5. 类型转换…

OpenHarmony音视频—opus

简介 Opus是一种用于在互联网上进行交互式语音和音频传输的编解码器。它可以从低比特率窄带语音扩展到非常高的高品质立体声音乐。 下载安装 直接在OpenHarmony-SIG仓中搜索opus并下载。 使用说明 以OpenHarmony 3.1 Beta的rk3568版本为例 将下载的opus库代码存在以下路径&a…

OSPF的LSA详解

一、什么是LSA&#xff1f;LSA作用&#xff1f; 在OSPF协议中&#xff0c;LSA全称链路状态通告&#xff0c;主要由LSA头部信息&#xff08;LSA摘要&#xff09;和链路状态组成。部分LSA只有LSA头部信息&#xff0c;无链路状态信息。使用LSA来传递路由信息和拓扑信息&#xff0c…

2024全网最火的接口自动化测试,一看就会

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

网工内推 | 外企网工,思科认证优先,弹性工作,补贴多

01 淳华科技&#xff08;昆山&#xff09;有限公司 招聘岗位&#xff1a;网络工程师 职责描述&#xff1a; 1.全厂网络规划 2.Cisco交换机和路由器的配置 3.日常设备点检\维护\配置 4.网络设备的评估并做报告说明 任职要求&#xff1a; 1.具有一定的网络工作经验有Cisco或是其…

DNS域名系统 | unbound

目录 DNS 命名空间和域名结构 DNS的命名空间的结构: 域名服务器的分类&#xff1a; ​编辑 DNS 资源记录 常见type: DNS报文结构 请求报文&#xff1a; 响应报文&#xff1a; 解析类型 递归查询 迭代查询 DNS劫持 DNS劫持方法&#xff1a; 防御措施 DNS服务部署…

05_Scala运算符

文章目录 **1.Scala运算符****2.scala中没有 --等语法****3.逻辑运算符和Java完全相同****4.scala认为万物皆对象** 1.Scala运算符 Scala底层 使用的是equals() 程序员比较两个量的时候&#xff0c;谁来没事比较内存地址&#xff1f; Java中引用数据类型比较地址&#xff0…

Allure精通指南(05)定制化报告内容(环境信息、图标、缺陷类别)

文章目录 Allure 自定义测试环境信息Allure 自定义缺陷类别信息Allure 自定义图标步骤一步骤二步骤三 Allure 自定义测试环境信息 步骤 1&#xff1a;创建 environment.properties 文件 在项目根目录或任何其他不会被--clean-alluredir参数影响的目录下创建 environment.proper…

OpenHarmony语言基础类库【@ohos.util.LightWeightMap (非线性容器LightWeightMap)】

LightWeightMap可用于存储具有关联关系的key-value键值对集合&#xff0c;存储元素中key值唯一&#xff0c;每个key对应一个value。 LightWeightMap依据泛型定义&#xff0c;采用轻量级结构&#xff0c;初始默认容量大小为8&#xff0c;每次扩容大小为原始容量的两倍。 集合中…

1、opencv介绍与开发环境搭建

1、opencv介绍 OpenCV 是 Intel 开源计算机视觉库&#xff0c;是一个跨平台的开源计算机视觉和机器学习软件库。它由一系列 C 函数和少量 C 类构成&#xff0c;可用于开发实时的图像处理、计算机视觉以及模式识别程序。 该库有 2500 多种优化算法&#xff0c;其中包括一套全面…

python怎么输出倒序

python怎么输出倒序&#xff1f;下面给大家介绍四种方法&#xff1a; 创建测试列表 >>> lst [1,2,3,4,5,6]方法1&#xff1a; >>> lst.reverse() #reverse()反转 >>> lst [6, 5, 4, 3, 2, 1] 方法2&#xff1a; >>> lst1 [i for i in …
最新文章