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(标识)

相关推荐
霸道流氓气质14 天前
GitLab CI/CD 完全指南
linux·ci/cd·gitlab
sbjdhjd14 天前
从零搭建企业级 CI/CD(下):Jenkins+GitLab+Harbor 全链路实战指南
git·servlet·ci/cd·云原生·云计算·gitlab·jenkins
用什么都重名15 天前
Git 合并两个无共同历史的分支:从报错到解决全记录
git·gitlab
master33615 天前
GitLab (Docker) 常用命令及解决方案清单
docker·容器·gitlab
qq_3564086615 天前
GitLab 单机私有化部署文档(基于 Docker 环境)
docker·gitlab
lisanmengmeng17 天前
gitlab 免密配置
linux·服务器·gitlab
求知若渴,虚心若愚。17 天前
Jenkins 自动化流水线(CICD)
运维·自动化·gitlab
mnasd19 天前
Gitlab + Jenkins 实现 CICD
运维·gitlab·jenkins
鹤鸣的日常20 天前
前端运行时动态环境变量方案
前端·react.js·docker·前端框架·vue·gitlab
starvapour20 天前
Ubuntu部署gitlab频繁出现502的问题
linux·ubuntu·gitlab