当前位置:首页 > 生活百科

gerrit和git的区别有什么(gitlab安装教程详细)

栏目:生活百科日期:2025-01-20浏览:0

目的检查并生成本地的ssh key检查是否已经存在ssh key检查生成的ssh key登陆Gerrit配置ssh key登录gerrit打开gerrit配置选项添加ssh key查看配置ssh key的结果验证Gerrit的ssh key配置结果Git的安装Git的配置验证gerrit的ssh链接结束语

目的

本文的目的是指导在Windows操作系统下面,如何配置通过ssh key来访问gerrit服务器。

检查并生成本地的ssh key

检查是否已经存在ssh key

在生成本地的ssh key之前,我们需要首先检查一下自己本地是否已经生成过ssh key,如果已经生成过,则不需要再次生成,可以直接使用已经存在的ssh key,如果没生成过ssh key,则需要生成新的ssh key。

具体检查是否生成ssh key的方法如下,以管理员的方式运行powershell程序,然后再里面输入如下命令,**注意:**如果没有powershell程序,就以管理员身份运行cmd程序。

C:Windowssystem32&>dir C:Userszhangsan.ssh 驱动器 C 中的卷没有标签。 卷的序列号是 E637-92C8 C:Userszhangsan 的目录找不到文件C:Windowssystem32&>

通过上面的命令和输出我们可以看出本地是没有生成过ssh key的,我们可以通过如下的命令生成ssh key。

生成ssh key的命令如下。在以管理员的方式运行powershell程序,然后执行如下命令,**注意:**如果没有powershell程序,就以管理员身份运行cmd程序。

C:Windowssystem32&>ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (C:Userszhangsan/.ssh/id_rsa):Created directory 'C:Userszhangsan/.ssh'.Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in C:Userszhangsan/.ssh/id_rsa.Your public key has been saved in C:Userszhangsan/.ssh/id_rsa.pub.The key fingerprint is:SHA256:8tmUEwMEcYpAzq2OECpZ45PwO6yT9Y/jhg6q2DiQUwA zhangsan@mywinpcThe key's randomart image is:+---&[RSA 2048]----+|E.o   o++        ||.o o . o .       ||o.= o .   o      ||.B.+       +     ||=o*   . S +      ||*+.o   o + .     ||++=o    o .      ||*=..+.           ||B+oooo.          |+----&[SHA256]-----+C:Windowssystem32&>

检查生成的ssh key

使用下面的命令来检查生成的ssh key:

C:Windowssystem32&>dir C:Userszhangsan.ssh 驱动器 C 中的卷没有标签。 卷的序列号是 E637-92C8 C:Userszhangsan.ssh 的目录2021/07/21  16:53    &<DIR&>          .2021/07/21  16:53    &<DIR&>          ..2021/07/21  16:53             1,679 id_rsa2021/07/21  16:53               398 id_rsa.pub               2 个文件          2,077 字节               2 个目录  2,809,282,560 可用字节C:Windowssystem32&>

通过上面的命令和输出结果,我们可以看出,ssh key已经生成成功。

其中两个文件的含义如下:

id_rsa:私钥文件,不要轻易给别人知道这个文件内容。id_rsa.pub:公钥文件,可以发送给他人,或配置到其他服务器上,通过自己的私钥,链接到配置在其他服务器上面的私钥来实现远程的免密码登陆访问。


登陆Gerrit配置ssh key

前面我们已经在本地准备好ssh key了,下面我把准备好的ssh key配置到我们的gerrit账号下面。

登录gerrit

使用自己的平台账号登陆gerrit的web页面,如下所示:

打开gerrit配置选项

登录成功后,如下所示,点击你的姓名选择settings菜单。

然后再次选择SSH Public Keys选项,然后再点击右侧的Add Key按钮,如下所示:

添加ssh key

查看本地的ssh key中的公钥,然后把你本地C:Userszhangsan.sshid_rsa.pub文件中的内容,如下所示:

C:Windowssystem32&>more C:Userszhangsan.sshid_rsa.pubssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDj7HXYt6XPWrRpE+p3xe592fwV/EA3fMoL4CbCXbEYWTqj4ZE+621k6DgNq+RAIWu+u6aCAykmtPLCKqMxTlTeJ/hohm/bHlIXITcxuBscRNp67dpkl6kNn8IRoFJxYQbhADJwEx5nRn8qFe5BttFs+9Exs9G0bz5RDb5HJpmhDalm/8Nct5k+QrfAZ6Gzv3txgiiH5BuKf/bxuVXpTwvL+637aYDREADKOnyPang0x9aACI82q5dwPa0jqJvRGij8uwjEnXh+nmkqwZeI8ZFSCitAo8tsfhbjBKwfkV7sYmOHJnsMZRvnG0tR9QK7RXPYmlT97TYIQjEalXc5tiSL zhangsan@mywinpc

复制上面命令的输出内容,将其粘贴到下面的文本框中,然后Add按钮,如下所示:

查看配置ssh key的结果

添加完成public key之后,此时你的gerrit账号下面就配置了一个public key。


验证Gerrit的ssh key配置结果

到目前为止,我们已经把自己本地ssh key配置到了gerrit账号下面,下面我们来使用git命令来验证一下是否可以正常链接到gerrit服务器上进行代码的拉取和推送操作。

Git的安装

如果你本地还那样安装git,请参考下面的git的安装步骤,如果已经安装了git,则可以跳过git的安装步骤。

验证是否安装了git的方式通过如下命令:

C:Windowssystem32&>git'git' 不是内部或外部命令,也不是可运行的程序或批处理文件。C:Windowssystem32&>

通过上面的命令和输出结果,我们可以得知,本地目前是没有安装Git组件的。

在Windows上安装Git很简单,有以下几种安装方法,推荐使用第一种方式:

官方版本可以在 Git 官方网站下载。 打开 https://git-scm.com/download/win,下载会自动开始。 要注意这是一个名为 Git for Windows 的项目(也叫做 msysGit),和 Git 是分别独立的项目;更多信息请访问 http://msysgit.github.io/。要进行自动安装,你可以使用 Git Chocolatey 包。 注意 Chocolatey 包是由社区维护的。另一个简单的方法是安装 GitHub Desktop。 该安装程序包含图形化和命令行版本的 Git。 它也能支持 Powershell,提供了稳定的凭证缓存和健全的换行设置。 稍后我们会对这方面有更多了解,现在只要一句话就够了,这些都是你所需要的。 你可以在 GitHub for Windows 网站下载,网址为 GitHub Desktop 网站。

下载完成之后,右键以管理员的身份运行.exe文件,一路下一步即可完成Git的安装。

安装完成git之后,搜索找到git cmd程序,这个是在安装完成Git之后才用的命令行程序,右键以管理员身份运行git cmd程序,然后通过如下命令来验证是否安装成功。

C:Userszhangsan&>git --versiongit version 2.32.0.windows.2C:Userszhangsan&>

Git的配置

上面我们完成了git的安装,接下来我们在使用git之前,需要对git简单的配置一下,这样在外面提交代码的时候。

在配置之前,可优先看一下是否已经配置了对应的参数,使用如下命令查看:

C:Userszhangsan&>git config --listdiff.astextplain.textconv=astextplainfilter.lfs.clean=git-lfs clean -- %ffilter.lfs.smudge=git-lfs smudge -- %ffilter.lfs.process=git-lfs filter-processfilter.lfs.required=truehttp.sslbackend=opensslhttp.sslcainfo=d:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crtcore.autocrlf=truecore.fscache=truecore.symlinks=falsepull.rebase=falsecredential.helper=manager-corecredential.https://dev.azure.com.usehttppath=trueinit.defaultbranch=masterC:Userszhangsan&>

通过上面命令的输出结果来看,在本地电脑上还没有配置git用户名和邮箱的全局参数。

请参考下面的命令来进行配置,需要注意的是,你需要把后面的参数换成你自己的姓名全拼音和对应的邮箱地址:

C:Userszhangsan&>git config --global user.name "zhangsan"C:Userszhangsan&>git config --global user.email "zhangsan@mywinpc.com"C:Userszhangsan&>

git全局参数设置后的结果如下:

C:Userszhangsan&>git config --listdiff.astextplain.textconv=astextplainfilter.lfs.clean=git-lfs clean -- %ffilter.lfs.smudge=git-lfs smudge -- %ffilter.lfs.process=git-lfs filter-processfilter.lfs.required=truehttp.sslbackend=opensslhttp.sslcainfo=d:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crtcore.autocrlf=truecore.fscache=truecore.symlinks=falsepull.rebase=falsecredential.helper=manager-corecredential.https://dev.azure.com.usehttppath=trueinit.defaultbranch=masteruser.name=zhangsanuser.email=zhangsan@mywinpc.comC:Userszhangsan&>

验证gerrit的ssh链接

git安装并且配置好之后,现在开始尝试通过外面配置的ssh key免密链接到gerrit。

登陆gerrit的web页面,找到我们要clone的项目,具体路径为:Projects-&>List-&>选择你能访问的项目

进入下面的页面,按步骤依次点击下面的链接:

进入自己的git cmd命令行窗口,在自己用户的目录下,新建一个文件夹,用于存放gerrit的项目,然后进入到这个文件夹下面,粘贴上面复制的命令,然后回车执行。

如果弹出提示是否要继续连接,输入yes后回车,继续链接。

C:Userszhangsan&>mkdir gerrit_projectsC:Userszhangsan&>cd gerrit_projectsC:Userszhangsangerrit_projects&>git clone ssh://zhangsan@internal.devops.com:29888/my_springboot_backend &&&& scp -p -P 29888 zhangsan@internal.devops.com:hooks/commit-msg my_springboot_backend/.git/hooks/Cloning into 'my_springboot_backend'...The authenticity of host '&[internal.devops.com]:29888 (&[10.10.10.11]:29888)' can't be established.RSA key fingerprint is SHA256:++v37ZAKWBgE7hhrZC1teajoQqpdIBbMOnhSJyoACMc.This key is not known by any other namesAre you sure you want to continue connecting (yes/no/&[fingerprint])? yesWarning: Permanently added '&[internal.devops.com]:29888' (RSA) to the list of known hosts.remote: Counting objects: 11108, doneremote: Finding sources: 100% (11108/11108)remote: Total 11108 (delta 5684), reused 10779 (delta 5684)Receiving objects: 100% (11108/11108), 36.92 MiB | 3.30 MiB/s, done.Resolving deltas: 100% (5684/5684), done.Updating files: 100% (707/707), done.Warning: Permanently added the RSA host key for IP address '&[10.10.10.11]:29888' to the list of known hosts.commit-msg                                                                            100% 4682    41.8KB/s   00:00close - IO is still pending on closed socket. read:1, write:0, io:000001FD5002F320C:Userszhangsangerrit_projects&>dir 驱动器 C 中的卷没有标签。 卷的序列号是 E637-92C8 C:Userszhangsangerrit_projects 的目录2021/07/21  18:10    &<DIR&>          .2021/07/21  18:10    &<DIR&>          ..2021/07/21  18:10    &<DIR&>          my_springboot_backend               0 个文件              0 字节               3 个目录  1,081,532,416 可用字节C:Userszhangsangerrit_projects&>cd my_springboot_backendC:Userszhangsangerrit_projectsmy_springboot_backend&>dir 驱动器 C 中的卷没有标签。 卷的序列号是 E637-92C8 C:Userszhangsangerrit_projectsmy_springboot_backend 的目录2021/07/21  18:10    &<DIR&>          .2021/07/21  18:10    &<DIR&>          ..2021/07/21  18:10             2,475 .gitignore2021/07/21  18:10             9,443 pom.xml2021/07/21  18:10    &<DIR&>          script2021/07/21  18:10    &<DIR&>          src2021/07/21  18:10    &<DIR&>          upload               2 个文件         11,918 字节               5 个目录  1,081,466,880 可用字节C:Userszhangsangerrit_projectsmy_springboot_backend&>git statusOn branch masterYour branch is up to date with 'origin/master'.nothing to commit, working tree cleanC:Userszhangsangerrit_projectsmy_springboot_backend&>

通过上面的命令和输出,我们可以已经可以成功地从gerrit上面克隆代码仓库到本地来。

“gerrit和git的区别有什么(gitlab安装教程详细)” 的相关文章

gameboy模拟器哪个好(手机gameboy模拟器)

【导语】:基于Python的GameBoy模拟器,超级马里奥、口袋妖怪等耳熟能详的游戏都可以在上面完美运行。简介PyBoy是一个基于Python的GameBoy...

微信公众号制作流程(5个最基础的操作流程)

你是否经常关注一些各个行业的微信公众号呢?你是否还在纠结这个微信公众号是怎么做出来的呢?今天小编详细为大家说一下怎么做微信公众号:首先,打开你的浏览器,输入“微...

ipad系统怎么升级系统(分享ipad系统升级指南)

苹果发布了iOS13和iPadOS的第三个公开测试版,而这距离第二个公测版更新还不到两周时间。虽然从最新公测版看,新系统并没有添加新功能,但有开发者表示,之前丢...

surface桌面模式怎么切换(微软surface桌面设置)_1

OnMSFT的ArifBacchus,刚刚分享了在纽约旧旗舰商店的微软SurfaceLaptopStudio上手体验,并称之为迄今最酷炫的设备之一。从设备造型和...

什么钓鱼线最好用(口碑最好的钓鱼线)

我给大家推荐的,都是基于我近15年来黑坑,竞技所积累的一些经验所得,我想了想其实市面上主流鱼线大部分我基本都用过,包括很多日本鱼线,国内的知名鱼线大多数都是比赛...

图像识别算法原理和步骤,图像识别算法如何更加准确

遗传算法(GeneticAlgorithm,GA)模拟生物进化论的自然选择和遗传学进化过程的计算模型,是一种通过模拟自然进化过程随机搜索最优解的方法,体现了适者...

中国未来经济发展方向, 深度剖析未来中国经济发展基本

2019年是中国商业的元年,在今年中国商业进入到了万象更新的时代。中国经济曾经经历过三个阶段,92年到02年,由于物质短缺,中国商品市场属于暴利阶段;03到12...

jcr分区是什么意思(jcr分区详细解)

sci一区二区三区四区的区别是什么?一区二区三区四区是sci期刊的分区,sci期刊的分区有两种,一种是jcr的分区,另一个是中科院的分区,这两类分区很类似,都是...

ipad产品线时间及价格,一文读懂iPad全系列产品

提起平板电脑,我想99%小伙伴脑子里的第一反应就是iPad。没错,在这个领域,苹果是当之无愧的“一哥”,没有智能手机类目那么多竞争对手。不过当你在淘宝搜索“iP...

win7系统激活方法(怎么在运行里激活系统)

Win7系统如何查询内网ip?大家都知道,电脑IP地址就像是电脑的身份证一样,而局域网又被我们称为内网,这个时候,如果想要查询内网IP应该如何操作呢?接下来就为...