机器人 救救瓜
Toggle navigation
Home
SCM-tool
Linux
Jenkins
SVN
other
About Me
Archives
Tags
gitlab push rule
? gitlab ?
2019-11-04 16:22:09
2115
2
0
gua_l
? gitlab ?
# Push Rule ---------- 设置的位置 Gitlab project 的settings repository -> Push Rules -> Commit message: 示例: ``` ^(I|i)ssue \d{4,6} \/* ^(Issue|issue|bug|Bug) #\d{1,7} \/* ``` 示例含义: ``` ^(I|i)ssue 开头 \d{4,6} 表示4-6位数字 \/* 表示任意内容 ``` 即以上示例匹配以下格式: ``` [I|i]ssue空格4-6位数字空格任意内容 如 Issue 1234 gfdg dgdfgdfgdff Issue 124455 ggfdgd gd ``` 其他匹配细节可参考: https://github.com/google/re2/wiki/Syntax 不符合commit message匹配规则的commit 无法被push , 此时gitlab 会给出匹配提示,以实际项目中设置的格式为准,比如: ``` remote: GitLab: Commit message does not follow the pattern '^(I|i)ssue \d{4,6} \/*' ``` </br> ---------- 以下介绍如何处理修正不匹配规则的commit message。 三种情况 - [1] gitlab web 页面直接提交时(即直接在远程push 一条commit) - [2] 提交一个merge request 时,merge request 本身产生一条合并的commit - [3] 本地仓库的commit 推送到远程仓库时 以上情况,在push时,会对commit message , 对merge reuqest 的title 进行上方设置规则的匹配校验,检验不成功则push 不成功。 </br> ---------- # **gitlab web 页面直接提交时** ![title](https://leanote.com/api/file/getImage?fileId=5dbfe752ab644102e3000894) </br> ---------- # **提交一个merge request** ![title](https://leanote.com/api/file/getImage?fileId=5dbfe824ab64410519000858) </br> ---------- # **本地仓库的commit 推送到远程仓库时** 本地仓库的commit message 不符合匹配规则,导致在push这些不合规的commit到remote repo时报错: ``--push failed: remote: GitLab: Commit message does not follow the pattern “ ”`` </br> ##### **查看自己还未push 的commit 及commit message:** ``` git log branch1 ^origin/branch1 --oneline ``` 根据观察到的结果单或多进行以下处理 </br> ##### 1. **仅最新一条commit 不符** 直接修正message ,使用 --amend 可以修改***最新***一条commit message,然后再 git push 就可以了。 ``` git commit --amend ``` </br> ##### 1. **多条commit不符** 用rev-parse查找远程最新的commit Hash, 然后把本地的commit 指针reset 到此Hash ,等同于撤销本地push 的commit , --soft 表示只撤销commit 操作,修改仍保留,此时本地修改就回到未commit 的状态了,按照匹配规则重新commit 为一条:`` git commit -m "commit message format"`` ``` git rev-parse origin/branch1 git reset --soft <HASH> git commit -m "Issue 123456 zzzzzzz" ``` </br>
Pre:
在Jenkins 里如何灵活地使用变量调用node
Next:
Gitlab 的 release 功能
2
likes
2115
Weibo
Wechat
Tencent Weibo
QQ Zone
RenRen
Submit
Sign in
to leave a comment.
No Leanote account?
Sign up now.
0
comments
More...
Table of content
No Leanote account? Sign up now.