我正在 GitLab 中為一個具有以下分支模型的專案開發 CI 管道:

基本上,一旦在功能分支(提交 2)上創建合并請求,CI 管道將使用自動編號系統構建工件,這些工件將上傳到工件存盤庫并部署到測驗環境。在代碼審查和測驗之后,我們進行了更多更改(提交 3)并且 MR 獲得批準。然后我們創建一個 squash 提交(因為我們喜歡那樣做)。
現在,我們希望提交 4(擠壓提交main)獲得一個 git 標簽,將其與版本 1.0.1 21 相關聯,這是功能分支中的最后一個版本號。但是 squash 提交似乎沒有回傳到功能分支的任何鏈接;它看起來像是一個獨立的main分支推送。
我怎樣才能在提交 4 上獲得一個標簽,將其與正確的構建工件相關聯?
uj5u.com熱心網友回復:
然后我們創建一個 squash 提交(因為我們喜歡那樣做)[...] squash 提交似乎沒有任何回傳功能分支的鏈接
那是因為你想吃蛋糕,也想吃蛋糕。根據定義,將待合并的分支壓縮為單個提交所做的事情:假裝更改沒有歷史記錄或父分支,但突然出現為單個提交。
你為什么想要壁球提交?如果答案包含術語“清理歷史記錄”,那么您需要學習將您的功能分支變基以壓縮和重新排序 WIP 提交。
我不贊成壓縮整個功能,因為從長遠來看這會損害生產力,因為我發現提交訊息是您的檔案和思考程序的一部分。如果您為此制定了其他機制,靠近源代碼,它可能是可以防御的,但它仍然會導致比我看來解決的問題更多的問題(合并沖突和丟棄的代碼是主要問題)。
至于你的問題:那么你需要修改創建這些擠壓提交的程序,以包括在功能分支上制作的構建標簽。要么洗掉標簽并創建一個新標簽,要么在提交訊息中包含一些措辭。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/534317.html
標籤:混帐gitlab-ci
