我计划使用 GitLab 来管理 Git 存储库(主要是来自各个硬件供应商的 Linux 内核)。
目前,我正在使用 Gitolite 来管理 Git 服务器和 MediaWiki 上的用户,以拥有所谓的“分支表”;换句话说,单个用户报告的表:
这里的主要问题是上面的表是手动创建的,有时,用户忘记添加分支或重命名它们。
我想知道 GitLab (或类似工具)中是否有一个地方可以插入这条信息。
我目前计划强制用户在存储库的根目录上创建一个自述文件(或一个分支自述文件,以避免冲突),如此处所述,包含所有必需的信息,我想知道是否有办法在GitLab 项目显示各个分支的所有 README 信息。
我一直在尝试使用 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) 是否可以将 Gitlab API 用于官方 Gitlab 服务器?我是说www.gitlab.com。我找不到主机 URI。这是 API:
https: //docs.gitlab.com/ce/api/
我已经更新了我的项目,当我在 git 上拉取新的更新项目时出现错误。此图像上的此错误。我需要解决方案。之前谢谢
我对 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,将会发生什么情况,并且:
他们同时合并2个MR?master会不会有冲突,因为两个分支都想合并到第101行到第150行?
如果分支A先合并,则意味着master已经有150个LOC,但分支B仍然从第101行到第150行开始,因为它是在master还有100个LOC时创建的。B合并的时候会不会也有冲突?或者说 Git 是如何处理这些的?
提前致谢(我不是巨魔,只是想弄清楚一些东西,以防有人要标记这个问题)
所以,我用谷歌搜索并浏览了 stackoverflow 和各种其他论坛 \xe2\x80\x93 但我仍然感到困惑。我可以访问包含我必须使用的文件(模板)的 git 存储库。这些文件可能在任何给定时刻发生变化。因此,在开始新工作之前,我git pull会将最新文件放入本地存储库中。
有时,我很好奇,想知道发生了什么变化。所以我做了一个git pull来看看哪些文件发生了变化。
问题:默认返回的结果数量可能是有限制的,但我通常在命令行工具上得到一大堆结果,然后我看到一个冒号,就像这样:
之后,我必须按回车键,直到显示剩余文件的一个结果,然后返回到冒号:(注意:我刚刚按回车键 50 多次才能看到其余结果。)
我缺少什么?任何链接或建议将不胜感激。
\n根据我对 git 的理解,每次执行时都会git checkout发生以下两种情况之一:
但是,有几次我git checkout对远程分支(本地从未存在过)执行 a 操作,并且得到了过时的内容。然后我执行 agit pull并收到新的提交。
有人也遇到过这个问题吗?你知道为什么会发生这种情况吗?
我的应用程序是使用 3 个 Docker 服务构建的:
到目前为止,我一直在手动登录自己的 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 服务器上拥有代码。它只需要构建它们并运行。但是这种方法不可扩展并且看起来很笨拙。
我正在寻找一些思考指南或循序渐进的方法。
仅在合并请求中运行时如何在 .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 中运行和提交。
我只需要在提交消息不包含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 ×10
git ×6
git-branch ×2
github ×2
gitlab-ci ×2
branch ×1
docker ×1
git-bash ×1
git-checkout ×1
merge ×1
versioning ×1