亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

Git分支管理策略是什么

發布時間:2022-01-17 14:18:01 來源:億速云 閱讀:126 作者:iii 欄目:大數據

本篇內容介紹了“Git分支管理策略是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

使用git帶來的分支疑惑

git 為什么好,為什么要用 git,這不是我本文想要說明的問題。

這里想要給大家分享一下自己使用過程中產生的疑惑,以及解決的這些疑惑的過程。話又說回來,我現在依然充滿疑惑。真不知道30歲的時候會不會不惑。

在使用 git 過程中,它的分支功能讓我真的欣喜若狂,不過這是把雙刃劍,一不小心你會得到這種git路徑圖:

Git分支管理策略是什么

圖片來源:阮一峰老師博客

我的疑惑:

  1. 那么團隊中我們該使用怎樣的分支策略來進行開發協作?

  2. 在多人的團隊中,我們應該在 master 分支上直接開發嗎?

  3. 如果線上產生了bug該通過什么樣方式的分支去修復?

  4. 當有多個分支的時候,測試如何有效的參與進來每一個分支的測試?

用成熟的工作流來解決問題

在解答上面的疑惑前,先介紹幾個工作流,然后通過工作流的模式,來進行解答。因為我們必須在某種設定的情景下,才能討論解決問題的思路。

下面三種工作流方式,都是采用功能驅動開發,也就是先有需求產生,然后誕生對應的分支,然后開發,最后合并回來,完成使命被刪除。

  • Git flow

  • Github flow

  • Gitlab flow

關于這三種工作流的詳細介紹,建議看看這篇文章-阮一峰

我現在采用的是 Git flow ,經過自己的實踐,確實好用,解決不少問題。然后如果發現與自己的實際情況有些出入,可以根據需求做出些變動調整。

我的選擇

我選擇了 Git flow,它的主要特點是,長期存在兩個分支:

  • 主分支master

  • 開發分支develop

然后,存在三種輔助分支,都是短期的,并且一半情況下只應該存在本地,不要提交到遠程庫。

  • 功能分支(feature branch)

  • 補丁分支(hotfix branch)

  • 預發分支(release branch)
    在進行上面的分支時,建議的命名規范:feature-xxx、release-xxx、hotfix-xxx

話外:我以前喜歡用下劃線,后來發現打中線不需要按 shift ,哈哈,從此開始中線時代。

什么時候要功能分支?

當你拿到一個需求,或者不是一個立馬需求上線的bug修復,那么就應該從 develop 開一個分支出來,完成這部分工作。完成后合并到 develop 分支。

Git分支管理策略是什么

什么時候要預發分支?

這個分支是為預發準備的,測試的介入,也只應該在該分支產生時才介入。當我們不管是新功能開發,還是一般的bug修改都差不多了。就應該從develop產生一個release分支,交給測試,如果有bug直接在上面修改。全部完成后,合并回develop,并且合并到master

關于這個分支我得再多說幾句。因為這是非常重要的一步,如果我們使用了 git 鉤子,當合并到 master 的時候,會自動發布到線上,所以這是臨上線的最后一道屏障。

同時這里也解決了我一個疑惑,測試如何參與到git的每個分支中來?答案是:測試不應該參與到每個分支中來,只應該參與到release分支中去。其它的開發分支,都應該由開發人員自己測試,測試沒有問題的時候才準許合并到develop,這就要求每一個開發要提高自己交付的產品質量,如何確保自己交付的產品質量?自動化測試是個不錯的選擇,好了,打住,這不是咋們今天的主要任務,這個話題改天再聊。

什么時候需要補丁分支?

這種情況越少越好。因為它產生的原因是:線上出了bug,并且必須馬上修復,不管你身在何方,當手機響起,拿出電腦改bug吧。

它與release 很像,都需要完成后,同時合并到:masterdevelop。不同的是,它需要從master 上開一個分支出來。
Git分支管理策略是什么

注意這里沒有測試的介入,一半來說都是代碼上某一個小的緊急bug,雖然很嚴重,但是可以很容易改動。當然如果有一些例外情況,應該讓測試進行測試后再合并、發布。

“Git分支管理策略是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

git
AI

砀山县| 陆川县| 湖口县| 蒲城县| 巢湖市| 孝昌县| 余江县| 云和县| 平定县| 宜良县| 建宁县| 通渭县| 宜都市| 建德市| 凤山县| 米易县| 牙克石市| 兴国县| 澜沧| 山东省| 南丹县| 长白| 凤冈县| 丹寨县| 广安市| 延川县| 共和县| 聂拉木县| 紫云| 铜鼓县| 抚远县| 洛扎县| 六盘水市| 曲沃县| 甘南县| 广灵县| 两当县| 通渭县| 会同县| 南投县| 五莲县|