关于 gitlab 的使用

本文详细介绍了Git仓库管理中SSH和HTTPS交互方式的使用方法,包括如何配置忽略证书验证、调整上传文件大小限制,以及SSH提交流程。同时,文章还涉及GitLab的权限管理、master分支权限分配等关键概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https 交互方式
  • https的方式每次操作远程仓库都需要提供用户名及密码
  • 另外对于https的方式,由于是自鉴权的SSL 证书,未经过第三方机构签署
    • 所以git的客户端会报错,需要我们在使用时添加如下选项进行忽略
    • git clone -c http.sslVerify=false https://192.168.1.58/git/doc/gitdoc.git
    • 或者是 在本地的项目文件夹 运行如下命令
      • git config http.sslVerify false
      • 注意 不要加--global选项 除非你的git只用在公司的所有项目中 不然会导致你应用第三方git仓库的https方式忽略掉证书错误
    • 如果一次性上传的内容较大,还需要修改如下选项
      • git config --global http.postBuffer 5242880
      • 这样就是最大50M了
  • 总之 还是下面提到的ssh的方式更适合我们的工作方式 当然现在很多IDE会可以记录你的https的用户名和密码
  • 如果喜欢也可以用https的方式 包括在别人的电脑上临时clone应急处理也是可以采用这种方式的
ssh交互方式
  • 如果需要用ssh提交 需要提交自己的ssh key 当然大多数情况下都是采用这种方式的
  • 以windows为例 安装了msysgit后 在Git Bash 中输入如下命令:
    • ssh-keygen -t rsa -C "你的邮箱地址"
    • 这个邮箱地址也是你注册gitlab的邮箱地址
    • 会在 C:/用户 对应的用户文件夹内的.ssh 下生成 id_rsaid_rsa.pub
      • (私钥的密码可设置也可不设置,看个人需求)
    • 上到 gitlab的地址并提交自己的id_rsa.pub的内容


gitlabgroup
  • gitlab有group的概念,比如我建立了一个关于文档相关的组
  • 然后在这个组下我新建了gitdoc的git项目
  • 下图是创建时关于项目权限的选择

permission

关于gitlab权限
  • 对于一个group 或一个project来讲 都可以添加members
  • 添加的时候会有权限选择 如下
    • Guest Reporter Developer Master
    • 当然项目的创建者 拥有最高权限 Owner
  • 上述链接中有关于group 及 project 的权限相关说明 请仔细阅读
  • 关于accuvally 的项目
    • master 分支 一般人是不会有push 权限的
    • develop 分支 可视项目的复杂度及大小 由各个项目的master权限管理者制定
    • feature 分支 所有为developer 的人应该都有push权限
### GitLab 使用指南与常见问题解决方案 GitLab 是一款功能强大的 DevOps 平台,支持从项目规划、源码管理、CI/CD 到监控和安全审计的全流程开发协作。以下是关于 GitLab 的基本使用方法以及一些典型问题的排查建议。 #### 基础操作指南 ##### 安装配置 在 Linux 上安装 GitLab 可通过官方推荐的方式进行一键部署: ```bash # 添加 GitLab 包仓库并信任 GPG 密钥 curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash sudo apt-get install gitlab-ce ``` 随后编辑 `/etc/gitlab/gitlab.rb` 文件来设定外部访问地址和其他参数: ```ruby external_url 'http://your-domain.example' ``` 保存后执行 `gitlab-ctl reconfigure` 来应用更改[^2]。 ##### 用户权限管理 管理员可以通过 Web UI 创建、分配成员角色,并控制项目的可见性和分支保护策略。对于更复杂的场景,可以启用 LDAP 或 OAuth 集成实现统一身份认证。 ##### CI/CD 流水线构建 创建 `.gitlab-ci.yml` 文件定义流水线阶段(stages)、作业(jobs)及其依赖关系。例如一个简单的 Node.js 构建脚本可能如下所示: ```yaml image: node:latest cache: paths: - node_modules/ build-job: stage: build script: - npm install - npm run build ``` 提交该文件至根目录即可触发自动化的测试与打包流程。 --- #### 故障排除技巧 ##### 内部 API 不可达错误 当运行 `gitlab-shell check` 出现 **Internal API unavailable** 错误提示时,应确认 GitLab 主体服务是否正常启动;如果未响应,则尝试重启整个套件并通过命令 `gitlab-ctl status` 查看状态反馈。另外还需核对 `/opt/gitlab/embedded/service/gitlab-shell/config.yml` 中指定的端口及路径设置是否匹配当前环境需求[^1]。 ##### 存储路径缺失异常 迁移过程中可能会遭遇类似 `"storage path have to exist"` 的警告信息。此时需手动建立目标存储结构并将所有权授予对应账户——通常为 `git` 用户所属群下的特定子目录树状布局。完成后调用 `chown -R git:git /path/to/repos && chmod -R ug+rwX,o-rwx /path/to/repos` 赋予合适权限以供后续读写操作顺利开展[^3]。 ##### 访问受限处理方案 某些情况下会出现 HTTP 403 Forbbiden 页面阻断合法请求流的情况。这往往源于 Rack Attack 插件基于速率限制机制临时封禁了疑似恶意行为者的客户端 IP 地址池。为此可调整 `/etc/gitlab/gitlab.rb` 内置白名单列表字段值新增受信网络段落条目而后重载守护进程使其生效于新会话连接过程之中[^4][^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值