GitLab基础管理

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

一、Gitlab是什么

GitLab 是一款基于 Git 构建的开源(也提供商业版)一体化 DevOps 平台,它不仅是 Git 代码仓库的管理工具,更是覆盖软件研发全生命周期的协作与运维平台。

  1. 核心基础:Git 代码仓库管理(最基础功能)
  2. 项目协作与管理:提升团队协作效率
  3. 自动化研发运维:实现 DevOps 全流程自动化
    这是 GitLab 区别于单纯 Git 仓库工具的核心优势,实现 "代码提交即触发后续自动化流程":

二、Git代码管理操作

2.1、创建Git仓库两种方式

  • web 界面
  • 命令行方式如下:
    1、本地创建并初始化仓库:

    2、本地仓库关联远程 GitLab 仓库:
bash 复制代码
# 添加远程仓库关联,命名为 origin(默认远程仓库名称,可自定义)
git remote add origin http://192.168.10.2/devops/my-local-project.git
# 验证远程仓库关联是否成功
git remote -v

3、将本地仓库推送到 GitLab 远程仓库:

bash 复制代码
# 首次推送,需指定分支(master 或 main),并绑定远程仓库
git push -u origin master
# 后续推送可直接执行 **git push**,无需指定分支和远程名称
  • 向已有仓库传文件时是否需要执行该命令:
bash 复制代码
git remote add origin http://192.168.10.2/devops/my-local-project.git

命令仅需执行一次:当本地目录首次关联远程仓库时,执行一次即可完成绑定。

后续向该远程仓库推送新文件时,直接执行

git add test.txt(暂存文件)

→ git commit -m "add test.txt"(本地提交)-----commit" "双引号中的内容可以随意写的。

→ git push(推送至远程)即可;

无需重复执行git remote add。

二、SSH免密配置

1、生成SSH密钥

这是生成 SSH 密钥对并查看公钥的命令,用于实现本地与 GitLab 等代码平台的免密认证,具体解读如下:

  1. ssh-keygen -t rsa -C "hs@hs.com" -b 4096
    这是生成 SSH 密钥对的命令:
    -t rsa:指定密钥算法为 RSA(常用的非对称加密算法);
    -C "hs@hs.com":给密钥添加注释(通常填 GitLab 账号邮箱,方便识别密钥用途);
    -b 4096:指定密钥长度为 4096 位(密钥更长,安全性更高);
    "一路回车使用默认设置":执行命令后按回车,会默认将密钥保存到~/.ssh/目录(私钥id_rsa、公钥id_rsa.pub),并跳过密码设置(免密使用密钥)。
  2. cat ~/.ssh/id_rsa.pub
    这是查看生成的公钥内容的命令:
    ~/.ssh/id_rsa.pub是公钥文件的路径;
    执行后会输出公钥文本,需将这段文本复制到 GitLab 的 "SSH 密钥" 配置中(GitLab→个人设置→SSH 密钥),完成本地与 GitLab 的 SSH 认证绑定。
    核心作用
    通过生成 SSH 密钥对,后续操作 GitLab 仓库时(克隆、推送等),无需重复输入账号密码,直接通过密钥认证即可访问,同时提升了访问的安全性。
    2、配置GitLab公钥
  • 点击用户头像选择【设置】
  • 进入【SSH密钥】页面
  • 粘贴公钥内容,点击【增加密钥】

    3、切换SSH方式推送

查看当前remote方式

git remote show origin

删除原有HTTP方式

git remote remove origin

添加SSH方式

git remote add origin git@192.168.10.23:devops/myweb.git

验证配置

git remote show origin

测试推送

echo '

new line

' >> index.html
git add index.html
git commit -m "modify index third"
git push
git push --tags(标识)

相关推荐
开发者联盟league1 小时前
使用Jenkins整合Sonarqube/Gitlab/Harbor/Kubernetes的Demo工程
kubernetes·gitlab·jenkins
开发者联盟league4 小时前
使用Jenkins整合Sonarqube/Gitlab/Harbor/Kubernetes实现CICD
kubernetes·gitlab·jenkins
zyl837214 小时前
前后端项目自动部署方案主流实现方案
ci/cd·gitlab·github
tingting01191 天前
Anolis OS release 8.10安装gitlab
gitlab
shchojj1 天前
gitlab推送触发jekins编译
运维·gitlab
独隅2 天前
Git/GitHub/GitLab/Gitee 核心对比指南
git·gitlab·github
开开心心就好2 天前
清理重复文件释放C盘空间的工具
安全·智能手机·pdf·gitlab·音视频·intellij idea·1024程序员节
李少兄2 天前
IDE 提示 “GitLab versions older than 14.0 are not supported” 的深度排查与解决方案
ide·gitlab
惜年_night4 天前
Docker部署05-GitLab的CI-CD发布
ci/cd·docker·gitlab
无人生还别怕5 天前
搭建gitlab服务并接入openldap认证
git·gitlab·github·openldap·ldap·统一认证