标签: gitlab

GitLab:有没有办法为分支分配状态/评论?

我计划使用 GitLab 来管理 Git 存储库(主要是来自各个硬件供应商的 Linux 内核)。

目前,我正在使用 Gitolite 来管理 Git 服务器和 MediaWiki 上的用户,以拥有所谓的“分支表”;换句话说,单个用户报告的表:

  • 分支名称(例如 xboard-feat-i2c2)
  • 分支维护者
  • 简短的分支描述(例如“从 rev 2.0.0 开始,在自定义主机板 X 上实现 i2c2 驱动程序的功能分支”)
  • 分支状态(WIP、测试、准备合并、已中止)
  • 分支较长的信息(例如“要构建此分支,您必须更改此操作并执行此操作(相对于默认指令)。我们目前在这方面遇到问题..”等等)。在本节中,我通常还编写用于测试该特定软件的测试床/测试套件的参考。

这里的主要问题是上面的表是手动创建的,有时,用户忘记添加分支或重命名它们。

我想知道 GitLab (或类似工具)中是否有一个地方可以插入这条信息。

我目前计划强制用户在存储库的根目录上创建一个自述文件(或一个分支自述文件,以避免冲突),如此处所述,包含所有必需的信息,我想知道是否有办法在GitLab 项目显示各个分支的所有 README 信息。

git version-control git-branch gitlab

1
推荐指数
1
解决办法
4260
查看次数

git checkout 将未暂存的文件带到新分支

我一直在尝试使用 gitlab CE 设置存储库,作为设置的一部分创建了一个存储库并一直在使用它,当我遇到时,在我对文件进行一些修改并使用签出切换分支后,我即使我有未暂存的文件,也可以进行切换,这与我以前的经历不同,在我进行提交或存储之前,我不允许签出。

这种体验超越了无缝切换分支的目的,而不必担心意外的渗透。

下面突出显示了这些步骤。

somasundaram.s@user  /d/projects/repositories/newrepo (master)
$ ls -ltr
total 1
-rw-r--r-- 1 somasundaram.s 1049089 13 Apr  4 16:28 README
-rw-r--r-- 1 somasundaram.s 1049089  0 Apr  4 16:31 hi

somasundaram.s@user  /d/projects/repositories/newrepo (master)
$ git branch new-branch

somasundaram.s@user  /d/projects/repositories/newrepo (master)
$ git checkout new-branch
Switched to branch 'new-branch'

somasundaram.s@user  /d/projects/repositories/newrepo (new-branch)
$ touch newfile

somasundaram.s@user  /d/projects/repositories/newrepo (new-branch)
$ ls -ltr
total 1
-rw-r--r-- 1 somasundaram.s 1049089 13 Apr  4 16:28 README
-rw-r--r-- 1 somasundaram.s 1049089  0 Apr  4 …
Run Code Online (Sandbox Code Playgroud)

git git-bash gitlab

1
推荐指数
1
解决办法
2349
查看次数

Gitlab API 是否有官方主机 uri?

是否可以将 Gitlab API 用于官方 Gitlab 服务器?我是说www.gitlab.com。我找不到主机 URI。这是 API: https: //docs.gitlab.com/ce/api/

gitlab

1
推荐指数
1
解决办法
2727
查看次数

在 git 上拉取时出现“磁盘配额超出”错误

我已经更新了我的项目,当我在 git 上拉取新的更新项目时出现错误。此图像上的此错误。我需要解决方案。之前谢谢

git gitlab

1
推荐指数
1
解决办法
1万
查看次数

Git 合并 - 同时合并 2 个分支会发生什么

我对 git 上的合并有不清楚的理解,我想正确理解。

假设我在 master 分支上有一个文件 F,它已经有 100 个 LOC。我从 master 创建了一个分支 A,并编写了 50 个 LOC,从第 101 行开始到第 150 行。我创建了一个合并请求,将分支 A 合并到 master。因此,如果分支 A 将被合并,那么 master 上的文件 F 将有 150 LOC

假设分支 A 尚未合并到 master,仍在等待。我从 master 创建了一个新的分支 B。我还写了 50 LOC,也是从第 101 行到第 150 行开始(因为分支 A 尚未合并)。我还为分支B创建了一个MR

如果 2 个人审阅 2 份 MR,将会发生什么情况,并且:

  1. 他们同时合并2个MR?master会不会有冲突,因为两个分支都想合并到第101行到第150行?

  2. 如果分支A先合并,则意味着master已经有150个LOC,但分支B仍然从第101行到第150行开始,因为它是在master还有100个LOC时创建的。B合并的时候会不会也有冲突?或者说 Git 是如何处理这些的?

提前致谢(我不是巨魔,只是想弄清楚一些东西,以防有人要标记这个问题)

git merge branch git-branch gitlab

1
推荐指数
1
解决办法
3102
查看次数

git log 要求我按 Enter 键才能查看所有日志文件

所以,我用谷歌搜索并浏览了 stackoverflow 和各种其他论坛 \xe2\x80\x93 但我仍然感到困惑。我可以访问包含我必须使用的文件(模板)的 git 存储库。这些文件可能在任何给定时刻发生变化。因此,在开始新工作之前,我git pull会将最新文件放入本地存储库中。

\n\n

有时,我很好奇,想知道发生了什么变化。所以我做了一个git pull来看看哪些文件发生了变化。

\n\n

问题:默认返回的结果数量可能是有限制的,但我通常在命令行工具上得到一大堆结果,然后我看到一个冒号,就像这样:

\n\n

在此输入图像描述

\n\n

之后,我必须按回车键,直到显示剩余文件的一个结果,然后返回到冒号:(注意:我刚刚按回车键 50 多次才能看到其余结果。)

\n\n

我缺少什么?任何链接或建议将不胜感激。

\n

git github gitlab

1
推荐指数
1
解决办法
934
查看次数

第一次 git checkout 后需要 git pull

根据我对 git 的理解,每次执行时都会git checkout发生以下两种情况之一:

  1. 该分支已经存在于本地,因此 HEAD 简单地位于其顶部。
  2. 该分支在本地不存在,因此 git 从远程存储库“克隆”它(我们假设 git refs 已更新)

但是,有几次我git checkout对远程分支(本地从未存在过)执行 a 操作,并且得到了过时的内容。然后我执行 agit pull并收到新的提交。

有人也遇到过这个问题吗?你知道为什么会发生这种情况吗?

versioning git github git-checkout gitlab

1
推荐指数
1
解决办法
8417
查看次数

通过 Gitlab CI/CD 将 docker 服务部署到自己的服务器的正确方法

我的应用程序是使用 3 个 Docker 服务构建的:

  • 后端(反应)
  • 前端(Node.js)
  • nginx(路由流量)

到目前为止,我一直在手动登录自己的 Digital Ocean 服务器,克隆存储库并使用docker-compose build && docker-compose up.

我想从现在开始自动化这个过程。

鉴于 Gitlab CI/CD Pipelines 和运行程序,将代码自动部署到 Digital Ocean 服务器的最佳方法是什么?

[我在想什么,可能看起来很“初学者”]

想法 1:一旦将提交推送到 master -> Gitlab runner 将构建服务,然后通过 .gitlab 将其复制到 DO 服务器scp。问题:您如何启动服务?您是否通过ssh运行程序连接到 DO 服务器,然后在那里运行启动脚本?

想法 2:在 DO 服务器上注册一个 worker,这样当它从 Gitlab 拉取数据时,它在 DO 服务器上拥有代码。它只需要构建它们并运行。但是这种方法不可扩展并且看起来很笨拙。

我正在寻找一些思考指南或循序渐进的方法。

continuous-integration continuous-deployment gitlab docker

1
推荐指数
1
解决办法
1853
查看次数

如何编写 .gitlab-ci.yml 作业以仅在合并请求中运行

仅在合并请求中运行时如何在 .gitlab-ci.yml 中正确写入作业?

test_c:
  stage: test
  script:
    - echo "This job tests something. It will only run when all jobs in the"
    - echo "build stage are complete."
  only:
    - merge_requests
Run Code Online (Sandbox Code Playgroud)

此作业不在合并请求中运行,但不在 master 或 develop 中运行和提交。

continuous-integration gitlab gitlab-ci

1
推荐指数
3
解决办法
2784
查看次数

gitlab 规则,如果提交消息不包含 WIP

我只需要在提交消息不包含WIP并且分支是功能分支时运行管道..但是无论我做什么,它要么不运行,要么像下面一样总是运行

我在兜兜转转;这是我最后的努力,这对我来说似乎很有意义,但无论提交消息说什么都会触发:/

stages:
  - stage
  - sprint
# -------------------------------------------------------------------

sprint:
  stage: sprint
  allow_failure: false
  image: node:lts
  script:
    - echo 'stuff'
  rules:
    - if: '$CI_COMMIT_BRANCH=~ /^feature(.?)*/ && $CI_COMMIT_MESSAGE  != /^WIP(.?)*/'
      when: always
Run Code Online (Sandbox Code Playgroud)

gitlab gitlab-ci

1
推荐指数
1
解决办法
610
查看次数