git流水線(Pipeline)導(dǎo)致分支(Branch)無法合并問題及解決
最近我的分支往main分支合并代碼的時候,一直提請我流水線成功的時候自動合并,由于我對gitlab的熟悉度不是很高,第一次看到這個流水線問題,所以就對此問題,找了解決方法
一、什么是 Pipeline
Pipeline中文稱為流水線,是分階段執(zhí)行的構(gòu)建任務(wù)。
如:安裝依賴、運行測試、打包、部署開發(fā)服務(wù)器、部署生產(chǎn)服務(wù)器等流程。
每一次 push 或者 Merge Request
都會觸發(fā)生成一條新的 Pipeline。
二、GitLab 中有一個 CI/CD 功能
GitLab CI/CD 是 GitLab Continuous Integration
(Gitlab持續(xù)集成)的簡稱。
GitLab 自 GitLab 8.0
開始提供了持續(xù)集成的功能,且對所有項目默認(rèn)開啟。
只要在項目倉庫的根目錄添加 .gitlab-ci.yml
文件,并且配置了Runner(運行器),那么每一次 push
或者合并請求(Merge Request
)都會觸發(fā) CI Pipeline。
三、解決方法
在 Pipelines 沒有運行成功之前是無法進(jìn)行分支合并(Merge Request)的,我們可以對此進(jìn)行解決,有以下幾種解決辦法。
1、跳過 Pipeline
只需要在 commit message
中帶上 [ci skip]
或 [skip ci]
,這個 commit 就不會觸發(fā) pipeline。
推送命令:
git commit -m "xxxx[skip ci]"
或者
git commit -m "xxxx" -m "[skip ci]"
2、直接關(guān)閉流水線功能
方法一:打開項目設(shè)置——CI/CD ,鏈接:在項目后面加上 /settings/ci_cd
取消勾選 Auto DevOps下面的 默認(rèn)為Auto DevOps流水線
方法二:刪掉項目下的 .gitlab-ci.yml
文件。
我就是用的方法二實現(xiàn)的,簡單粗暴,我到現(xiàn)在都不知道,項目文件里為什么多一個.gitlab-ci.yml
問題是解決了,但是還是不了解內(nèi)因,下一步目標(biāo)就是搞透gitlab。。。。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- Git如何實現(xiàn)撤銷提交(命令行+IDEA)
- git提交報錯pre -commit hook failed (add --no-verify)問題及解決
- git提交出現(xiàn)commit提醒信息界面怎樣退出
- git合并部分提交的實現(xiàn)
- git如何將master分支上的代碼合并到自己新建的分支上
- git worktree與分支依賴隔離的使用場景分析
- gitlab分支合并沖突的處理過程
- git分支或指定文件回退到指定版本命令詳解
- GitLab在IDEA中回滾主分支問題
- git如何合并某個分支的某次提交(cherry-pick)
- git如何從某個分支的指定歷史版本中創(chuàng)建新分支
- Git提交到錯誤分支如何解決
相關(guān)文章
12種實現(xiàn)301網(wǎng)頁重定向方法的代碼實例(含Web編程語言和Web服務(wù)器)
這篇文章主要介紹了11種實現(xiàn)301網(wǎng)頁重定向方法的代碼實例,文中包含9種編程語言和3種WEB服務(wù)器配置方法,共計12種,需要的朋友可以參考下2014-07-07vscode eslint插件報錯Parsing error: Invalid
這篇文章主要介紹了vscode eslint插件報錯Parsing error: Invalid ecmaVersion問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10文章中優(yōu)酷視頻全屏及去除廣告在線轉(zhuǎn)換
很多網(wǎng)站發(fā)表了引用優(yōu)酷視頻不能全屏,或一點全屏又跳到官方網(wǎng)了,結(jié)果又要重新緩沖。用戶體驗特別不好。2010-09-09