GitLab的基础使用-客户端克隆(Clone)代码的两种方式
GitLab的基础使用-客户端克隆(Clone)代码的两种方式
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.准备环境
博主推荐阅读: https://www.cnblogs.com/yinzhengjie2020/p/12446201.html
二.基于HTTP协议进行克隆实战案例
1>.安装git命令

[root@dbus01.yinzhengjie.org.cn ~]# yum -y install git Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: ftp.sjtu.edu.cn * extras: ftp.sjtu.edu.cn * updates: ftp.sjtu.edu.cn base | 3.6 kB 00:00:00 extras | 2.9 kB 00:00:00 mysql-connectors-community | 2.5 kB 00:00:00 mysql-tools-community | 2.5 kB 00:00:00 mysql57-community | 2.5 kB 00:00:00 updates | 2.9 kB 00:00:00 (1/2): extras/7/x86_64/primary_db | 164 kB 00:00:00 (2/2): updates/7/x86_64/primary_db | 6.7 MB 00:00:03 Resolving Dependencies --> Running transaction check ---> Package git.x86_64 0:1.8.3.1-21.el7_7 will be installed --> Processing Dependency: perl-Git = 1.8.3.1-21.el7_7 for package: git-1.8.3.1-21.el7_7.x86_64 --> Processing Dependency: rsync for package: git-1.8.3.1-21.el7_7.x86_64 --> Processing Dependency: perl(Term::ReadKey) for package: git-1.8.3.1-21.el7_7.x86_64 --> Processing Dependency: perl(Git) for package: git-1.8.3.1-21.el7_7.x86_64 --> Processing Dependency: perl(Error) for package: git-1.8.3.1-21.el7_7.x86_64 --> Running transaction check ---> Package perl-Error.noarch 1:0.17020-2.el7 will be installed ---> Package perl-Git.noarch 0:1.8.3.1-21.el7_7 will be installed ---> Package perl-TermReadKey.x86_64 0:2.30-20.el7 will be installed ---> Package rsync.x86_64 0:3.1.2-6.el7_6.1 will be installed --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================================================================================================================================================================================== Package Arch Version Repository Size ============================================================================================================================================================================================================================================================================== Installing: git x86_64 1.8.3.1-21.el7_7 updates 4.4 M Installing for dependencies: perl-Error noarch 1:0.17020-2.el7 base 32 k perl-Git noarch 1.8.3.1-21.el7_7 updates 55 k perl-TermReadKey x86_64 2.30-20.el7 base 31 k rsync x86_64 3.1.2-6.el7_6.1 base 404 k Transaction Summary ============================================================================================================================================================================================================================================================================== Install 1 Package (+4 Dependent packages) Total download size: 4.9 M Installed size: 23 M Downloading packages: (1/5): perl-Error-0.17020-2.el7.noarch.rpm | 32 kB 00:00:00 (2/5): rsync-3.1.2-6.el7_6.1.x86_64.rpm | 404 kB 00:00:00 (3/5): perl-TermReadKey-2.30-20.el7.x86_64.rpm | 31 kB 00:00:00 (4/5): perl-Git-1.8.3.1-21.el7_7.noarch.rpm | 55 kB 00:00:00 (5/5): git-1.8.3.1-21.el7_7.x86_64.rpm | 4.4 MB 00:00:01 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Total 3.1 MB/s | 4.9 MB 00:00:01 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : 1:perl-Error-0.17020-2.el7.noarch 1/5 Installing : rsync-3.1.2-6.el7_6.1.x86_64 2/5 Installing : perl-TermReadKey-2.30-20.el7.x86_64 3/5 Installing : perl-Git-1.8.3.1-21.el7_7.noarch 4/5 Installing : git-1.8.3.1-21.el7_7.x86_64 5/5 Verifying : git-1.8.3.1-21.el7_7.x86_64 1/5 Verifying : 1:perl-Error-0.17020-2.el7.noarch 2/5 Verifying : perl-TermReadKey-2.30-20.el7.x86_64 3/5 Verifying : perl-Git-1.8.3.1-21.el7_7.noarch 4/5 Verifying : rsync-3.1.2-6.el7_6.1.x86_64 5/5 Installed: git.x86_64 0:1.8.3.1-21.el7_7 Dependency Installed: perl-Error.noarch 1:0.17020-2.el7 perl-Git.noarch 0:1.8.3.1-21.el7_7 perl-TermReadKey.x86_64 0:2.30-20.el7 rsync.x86_64 0:3.1.2-6.el7_6.1 Complete! [root@dbus01.yinzhengjie.org.cn ~]#
2>.如下图所示,点击拷贝HTTP的URL
3>.使用git命令clone远程代码到本地
[root@dbus01.yinzhengjie.org.cn ~]# git clone http://gitlab201.yinzhengjie.org.cn/china_bigdata/cmdb.git Cloning into 'cmdb'... Username for 'http://gitlab201.yinzhengjie.org.cn': jason #这里需要输入用权限访问该项目的用户名称 Password for 'http://jason@gitlab201.yinzhengjie.org.cn': #这里需要输入有权限访问该项目的用户密码 remote: Enumerating objects: 3, done. remote: Counting objects: 100% (3/3), done. remote: Compressing objects: 100% (2/2), done. remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), done. [root@dbus01.yinzhengjie.org.cn ~]#
三.基于SSH协议进行克隆实战案例
1>.生成密钥对
[root@jenkins-master210.yinzhengjie.org.cn ~]# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa Generating public/private rsa key pair. Created directory '/root/.ssh'. Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:SObkCucWAkDjRBUQXYKUZjdvADlHdOi3Mm+R0HUgtks root@jenkins-master210.yinzhengjie.org.cn The key's randomart image is: +---[RSA 2048]----+ |=X%*+= .. | |+B.B+ o. . | |+.= =E= . | | . o.@.. | | o *.* S | | B * | | B . | | . o | | . | +----[SHA256]-----+ [root@jenkins-master210.yinzhengjie.org.cn ~]# [root@jenkins-master210.yinzhengjie.org.cn ~]# ll ~/.ssh/ total 8 -rw------- 1 root root 1675 Mar 14 02:32 id_rsa -rw-r--r-- 1 root root 423 Mar 14 02:32 id_rsa.pub [root@jenkins-master210.yinzhengjie.org.cn ~]# [root@jenkins-master210.yinzhengjie.org.cn ~]# cat ~/.ssh/id_rsa.pub #我们需要将这个公钥信息上传到GitLab上 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyJxyrrvqA3JyEl97EymsxNugtxJrN0hs1/lfrn+OSnOGupnINNCEDx8o0SmRs7OYJVuEtr3z/b0pNprSqnOHsYCYrDfbYOhYEBg+xcgc7c+4roEFdXGoYS2qcJODuSAKnbmTvs ueM4DuSX2hnRJEyBElxLww287lvYuGQo7zrgcqtJ2IJGR/O8gRSfPPTelFhJDK7FMjTIHpw7J+wy3W23Qtf+QJt6yIZRYqfxqTur4n0byea618rTQ2AwUbLdt0KeL6QRGypOuAFOknTZObGP2pP76d34K6aU+759XgYVnesQ/q3yy
/idJNxvzzXTDFjLnk5+P1y3Cb6Ig1lnoKX root@jenkins-master210.yinzhengjie.org.cn
[root@jenkins-master210.yinzhengjie.org.cn ~]#
2>.点击用户头像,选择"Settings"
3>.将第1步骤生成的公钥信息贴在jason用户的"SSH Keys"里面,如下图所示
4>.公钥添加成功
5>.查看项目的详细信息
6>.选择基于SSH协议克隆的URL
7>.在第1步骤中的服务器上执行克隆操作

[root@jenkins-master210.yinzhengjie.org.cn ~]# yum -y install git Loaded plugins: fastestmirror Determining fastest mirrors * base: mirrors.tuna.tsinghua.edu.cn * extras: mirrors.huaweicloud.com * updates: mirrors.huaweicloud.com base | 3.6 kB 00:00:00 extras | 2.9 kB 00:00:00 updates | 2.9 kB 00:00:00 (1/2): extras/7/x86_64/primary_db | 164 kB 00:00:00 (2/2): updates/7/x86_64/primary_db | 6.7 MB 00:00:01 Resolving Dependencies --> Running transaction check ---> Package git.x86_64 0:1.8.3.1-21.el7_7 will be installed --> Processing Dependency: perl-Git = 1.8.3.1-21.el7_7 for package: git-1.8.3.1-21.el7_7.x86_64 --> Processing Dependency: rsync for package: git-1.8.3.1-21.el7_7.x86_64 --> Processing Dependency: perl(Term::ReadKey) for package: git-1.8.3.1-21.el7_7.x86_64 --> Processing Dependency: perl(Git) for package: git-1.8.3.1-21.el7_7.x86_64 --> Processing Dependency: perl(Error) for package: git-1.8.3.1-21.el7_7.x86_64 --> Running transaction check ---> Package perl-Error.noarch 1:0.17020-2.el7 will be installed ---> Package perl-Git.noarch 0:1.8.3.1-21.el7_7 will be installed ---> Package perl-TermReadKey.x86_64 0:2.30-20.el7 will be installed ---> Package rsync.x86_64 0:3.1.2-6.el7_6.1 will be installed --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================================================================================= Package Arch Version Repository Size ============================================================================================================================================================================= Installing: git x86_64 1.8.3.1-21.el7_7 updates 4.4 M Installing for dependencies: perl-Error noarch 1:0.17020-2.el7 base 32 k perl-Git noarch 1.8.3.1-21.el7_7 updates 55 k perl-TermReadKey x86_64 2.30-20.el7 base 31 k rsync x86_64 3.1.2-6.el7_6.1 base 404 k Transaction Summary ============================================================================================================================================================================= Install 1 Package (+4 Dependent packages) Total download size: 4.9 M Installed size: 23 M Downloading packages: (1/5): perl-Error-0.17020-2.el7.noarch.rpm | 32 kB 00:00:00 (2/5): perl-TermReadKey-2.30-20.el7.x86_64.rpm | 31 kB 00:00:00 (3/5): rsync-3.1.2-6.el7_6.1.x86_64.rpm | 404 kB 00:00:00 (4/5): perl-Git-1.8.3.1-21.el7_7.noarch.rpm | 55 kB 00:00:00 (5/5): git-1.8.3.1-21.el7_7.x86_64.rpm | 4.4 MB 00:00:01 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 2.4 MB/s | 4.9 MB 00:00:02 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : 1:perl-Error-0.17020-2.el7.noarch 1/5 Installing : rsync-3.1.2-6.el7_6.1.x86_64 2/5 Installing : perl-TermReadKey-2.30-20.el7.x86_64 3/5 Installing : perl-Git-1.8.3.1-21.el7_7.noarch 4/5 Installing : git-1.8.3.1-21.el7_7.x86_64 5/5 Verifying : git-1.8.3.1-21.el7_7.x86_64 1/5 Verifying : 1:perl-Error-0.17020-2.el7.noarch 2/5 Verifying : perl-TermReadKey-2.30-20.el7.x86_64 3/5 Verifying : perl-Git-1.8.3.1-21.el7_7.noarch 4/5 Verifying : rsync-3.1.2-6.el7_6.1.x86_64 5/5 Installed: git.x86_64 0:1.8.3.1-21.el7_7 Dependency Installed: perl-Error.noarch 1:0.17020-2.el7 perl-Git.noarch 0:1.8.3.1-21.el7_7 perl-TermReadKey.x86_64 0:2.30-20.el7 rsync.x86_64 0:3.1.2-6.el7_6.1 Complete! [root@jenkins-master210.yinzhengjie.org.cn ~]#
当你的才华还撑不起你的野心的时候,你就应该静下心来学习。当你的能力还驾驭不了你的目标的时候,你就应该沉下心来历练。问问自己,想要怎样的人生。 欢迎加入基础架构自动化运维:598432640,大数据SRE进阶之路:959042252,DevOps进阶之路:526991186
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架