溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何解決git config坑的導(dǎo)致CI校驗(yàn)不通過

發(fā)布時間:2021-09-17 09:57:21 來源:億速云 閱讀:425 作者:柒染 欄目:web開發(fā)

如何解決git config坑的導(dǎo)致CI校驗(yàn)不通過,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

事故由來

當(dāng)我把bug解決休掉后,順利跑通后?!庇淇臁暗难a(bǔ)完單測,提了個mr,CI校驗(yàn)竟然攔下來了。

如何解決git config坑的導(dǎo)致CI校驗(yàn)不通過

圖1

當(dāng)時我的心情是復(fù)雜的,于是我點(diǎn)開了這個Details。

看了半天,沒有啥有價值的錯誤信息,接著索性打開這個流水線,看看藍(lán)盾里面具體是哪個子流失線出現(xiàn)了問題,找了半天后,發(fā)現(xiàn)了問題。。。

如何解決git config坑的導(dǎo)致CI校驗(yàn)不通過

圖2

好離譜,為啥我git email盡然有QQ郵箱。。。

為了驗(yàn)證我這個分支是否存在上述的這個問題,我得排查一下:

git log | grep 'Author' | head

看到結(jié)果的時候,我呆滯住了:

如何解決git config坑的導(dǎo)致CI校驗(yàn)不通過

圖3

居然真的有個commit記錄真的是qq郵箱,事情大概清楚了,之前master分支存在問題,我刪掉項(xiàng)目,重新拉取一次master分支。

由于我全局配置的git config 是日常郵箱的問題,沒有在意這個問題,導(dǎo)致現(xiàn)在CI校驗(yàn)不通過。

那么解決問題的辦法就是:

修改下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

我們可以根據(jù)Commands信息來修改這些信息,來選擇我們需要的參數(shù),最后來達(dá)到我們的目的。

其他思路

想到我修改的代碼,跟主干代碼master相差的其實(shí)很小,那么我可以做到代碼回滾,根據(jù)我們的id回退到指定的版本,主要通過的命令就是 git  reset,然后選擇對于的參數(shù),也能滿足我們的需求。

一般來說,有hard,soft,mixed,三種模式,根據(jù)不同的場景來做選擇。

關(guān)于如何解決git config坑的導(dǎo)致CI校驗(yàn)不通過問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI