快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

如何解决gitconfig坑的导致CI校验不通过

如何解决git config坑的导致CI校验不通过,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

我们注重客户提出的每个要求,我们充分考虑每一个细节,我们积极的做好做网站、网站制作服务,我们努力开拓更好的视野,通过不懈的努力,创新互联赢得了业内的良好声誉,这一切,也不断的激励着我们更好的服务客户。 主要业务:网站建设,网站制作,网站设计,成都微信小程序,网站开发,技术开发实力,DIV+CSS,PHP及ASP,ASP.Net,SQL数据库的技术开发工程师。

事故由来

当我把bug解决休掉后,顺利跑通后。”愉快“的补完单测,提了个mr,CI校验竟然拦下来了。

如何解决git config坑的导致CI校验不通过

图1

当时我的心情是复杂的,于是我点开了这个Details。

看了半天,没有啥有价值的错误信息,接着索性打开这个流水线,看看蓝盾里面具体是哪个子流失线出现了问题,找了半天后,发现了问题。。。

如何解决git config坑的导致CI校验不通过

图2

好离谱,为啥我git email尽然有QQ邮箱。。。

为了验证我这个分支是否存在上述的这个问题,我得排查一下:

git log | grep 'Author' | head

看到结果的时候,我呆滞住了:

如何解决git config坑的导致CI校验不通过

图3

居然真的有个commit记录真的是qq邮箱,事情大概清楚了,之前master分支存在问题,我删掉项目,重新拉取一次master分支。

由于我全局配置的git config 是日常邮箱的问题,没有在意这个问题,导致现在CI校验不通过。

那么解决问题的办法就是:

修改下commit历史

如何解决

于是google一个方案,修改 git 历史提交 commit 信息(重写历史),文档链接:

https://www.jianshu.com/p/0f1fbd50b4be

大致意思通过 git rebase 命令,来完成操作:

git rebase -i HEAD~3 // 修改近三次的信息

将会得到如下的信息,这里的提交日志是和git log倒叙排列的,我们要修改的日志信息位于第一位:

 1 pick 2275781 should find method from parent  2 pick 223fc80 unit test case  3 pick 9ac1179 update test case  4  5 # Rebase 79db0bd..9ac1179 onto 79db0bd (3 commands)  6 #  7 # Commands:  8 # p, pick = use commit  9 # r, reword = use commit, but edit the commit message 10 # e, edit = use commit, but stop for amending 11 # s, squash = use commit, but meld into previous commit 12 # f, fixup = like "squash", but discard this commit's log message 13 # x, exec = run command (the rest of the line) using shell 14 # d, drop = remove commit 15 # 16 # These lines can be re-ordered; they are executed from top to bottom. 17 # 18 # If you remove a line here THAT COMMIT WILL BE LOST. 19 # 20 # However, if you remove everything, the rebase will be aborted. 21 # 22 # Note that empty commits are commented out

我们可以根据Commands信息来修改这些信息,来选择我们需要的参数,最后来达到我们的目的。

其他思路

想到我修改的代码,跟主干代码master相差的其实很小,那么我可以做到代码回滚,根据我们的id回退到指定的版本,主要通过的命令就是 git  reset,然后选择对于的参数,也能满足我们的需求。

一般来说,有hard,soft,mixed,三种模式,根据不同的场景来做选择。

关于如何解决git config坑的导致CI校验不通过问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


网页题目:如何解决gitconfig坑的导致CI校验不通过
文章路径:http://6mz.cn/article/jedgpc.html

其他资讯