chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Git最佳實(shí)踐,什么才是最佳工作流

PLC工控專(zhuān)欄 ? 來(lái)源:加密狗破解 ? 作者:加密狗破解 ? 2022-02-21 17:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

很久以前我出過(guò)一個(gè) Git 教程,小伙伴們要是還不懂 Git 的用法,可以在公眾號(hào)底部菜單中,有一個(gè)教程合集,里邊有 Git 教程的索引

今天我們不聊基本用法,聊一聊 Git 到底應(yīng)該怎么用?我們知道相比于 Svn,Git 最牛的地方在于它的分支,分支很靈活,但是如果缺乏一個(gè)使用套路,又會(huì)用的亂糟糟的,特別是在團(tuán)隊(duì)協(xié)作中,該怎么玩 Git 分支?

咱們也不發(fā)明什么輪子,也不設(shè)計(jì)什么全新流程,本文主要是和大家介紹三種常見(jiàn)的工作流:Git Flow、GitHub Flow 以及 GitLab Flow。介紹完成后,在談?wù)勊筛绲囊恍┦褂皿w驗(yàn)。

1. Git Flow

先來(lái)看 Git Flow。

Git Flow 是最早誕生也是最早被廣泛使用的工作流程。

在 Git Flow 中,有兩個(gè)長(zhǎng)期存在且不會(huì)被刪除的分支:masterdevelop。

在這兩個(gè)分支中,master 主要用于對(duì)外發(fā)布穩(wěn)定的新版本,該分支時(shí)常保持著軟件可以正常運(yùn)行的狀態(tài),由于要維護(hù)這一狀態(tài),所以不允許開(kāi)發(fā)者直接對(duì) master 分支的代碼進(jìn)行修改和提交,其他分支的開(kāi)發(fā)工作進(jìn)展到可以發(fā)布的程度后,將會(huì)與 master 分支進(jìn)行合并,并且這一合并只在發(fā)版時(shí)進(jìn)行,發(fā)布時(shí)將會(huì)附加版本編號(hào)的 Git 標(biāo)簽

develop 則用來(lái)存放我們最新開(kāi)發(fā)的代碼,這個(gè)分支是我們開(kāi)發(fā)過(guò)程中代碼中心分支,這個(gè)分支也不允許開(kāi)發(fā)者直接進(jìn)行修改和提交。程序員要以 develop 分支為起點(diǎn)新建 feature 分支,在 feature 分支中進(jìn)行新功能的開(kāi)發(fā)或者代碼的修正,也就是說(shuō) develop 分支維系著開(kāi)發(fā)過(guò)程中的最新代碼,以便程序員創(chuàng)建 feature 分支進(jìn)行自己的工作。

注意 develop 合并的時(shí)候,不要使用 fast-farward merge,建議加上 --no-ff 參數(shù),這樣在 master 上就會(huì)有合并記錄,關(guān)于這兩個(gè)的區(qū)別,大家可以參數(shù)松哥之前的 Git 教程,這里不再贅述。

除了這兩個(gè)永久分支,還有三個(gè)臨時(shí)分支:feature branches、hotfixes 以及 release branches。我們分別來(lái)看:

feature branches

這個(gè)是特性分支,也叫功能分支,當(dāng)你需要開(kāi)發(fā)一個(gè)新的功能的時(shí)候,可以新建一個(gè) feature-xxx 的分支,在里邊開(kāi)發(fā)新功能,這也是我們?nèi)粘9ぷ鞯拇蟊緺I(yíng),開(kāi)發(fā)完成后,將之并入 develop 分支中,如下圖:

hotfixes branches

這個(gè)分支看名字就是用來(lái)修復(fù) BUG 的,當(dāng)我們的項(xiàng)目上線(xiàn)后,發(fā)現(xiàn)有 BUG 需要修復(fù),那么就從 Master 上拉一個(gè)名為 fixbug-xxx 的分支,然后進(jìn)行 BUG 修復(fù),修復(fù)完成后,再將代碼合并到 Master 和 Develop 兩個(gè)分支中,然后刪除 hotfix 分支,如下圖:

release branches

這個(gè)是發(fā)版的時(shí)候拉的分支,當(dāng)我們所有的功能做完之后,準(zhǔn)備要將代碼合并到 master 的時(shí)候,從 develop 上拉一個(gè) release-xxx 分支出來(lái),這個(gè)分支一般處理發(fā)版前的一些提交以及客戶(hù)體驗(yàn)之后小 BUG 的修復(fù)(BUG 修復(fù)后也可以將之合并進(jìn) develop),不要在這個(gè)里邊去開(kāi)發(fā)功能,在預(yù)發(fā)布結(jié)束后,將該分支合并進(jìn) develop 以及 master,然后刪除 release,如下圖:

大概就是這個(gè)意思。

松哥工作中用的其實(shí)就是類(lèi)似于 Git Flow 的工作流,為什么說(shuō)是類(lèi)似呢?我們項(xiàng)目中主要是保證了 master、develop 以及 release 三個(gè)分支,在此基礎(chǔ)之上,其他隨意。

2. GitHub Flow

GitHub Flow 相比于 Git Flow 就要容易很多了,GitHub Flow 也是 GitHub 上使用的工作流程,如果你想?yún)⑴c GitHub 上的某一個(gè)開(kāi)源項(xiàng)目,那么不妨看看 GitHub Flow。

官方給的 GitHub Flow 流程如下:

它的流程是這樣的:

  1. 需要開(kāi)發(fā)新功能或者修復(fù) BUG 的時(shí)候,從 master 上拉一個(gè)新的分支下來(lái)。
  2. 新的分支開(kāi)發(fā)完成后,或者說(shuō)當(dāng)你遇到困難開(kāi)發(fā)不下去的時(shí)候,都可以發(fā)起一個(gè) pr(Pull Request)。
  3. pr 既提交代碼,也讓其他同事 review 你的代碼,在這個(gè)過(guò)程中,你可以不斷提交 pr。
  4. 最終你的 pr 被接受,合并進(jìn) master。

GitHub 工作流雖然用著很簡(jiǎn)單,但是他的問(wèn)題也很明顯,就是沒(méi)有對(duì)常見(jiàn)的工作場(chǎng)景中的問(wèn)題提出解決辦法。

3. GitLab Flow

GitLab Flow 結(jié)合了 Git Flow 與 GitHub Flow 的優(yōu)點(diǎn),它不像 Git Flow 有那么多容易把新手繞暈的分支,同時(shí)它又可以適應(yīng)不同的開(kāi)發(fā)環(huán)境。

GitLab Flow 的最大原則叫做 upstream first,中文譯作“上游優(yōu)先”:即只存在一個(gè)主分支 master,它是所有其他分支的 upstream,只有上游分支采納的代碼變化,才能應(yīng)用到其他分支。

對(duì)于“持續(xù)發(fā)布”的項(xiàng)目,我們可以在 master 分支以外,再建立不同的環(huán)境分支。例如開(kāi)發(fā)的分支是 master,預(yù)發(fā)布的分支是 pre-production,生產(chǎn)環(huán)境的分支是 production。

在這里開(kāi)發(fā)分支是預(yù)發(fā)分支的 upstream,預(yù)發(fā)分支又是生產(chǎn)分支的 upstream。代碼的變化,必須由上游下游發(fā)展。比如,生產(chǎn)環(huán)境出現(xiàn)了 bug,這時(shí)就要新建一個(gè)功能分支,先把它合并到 master,確認(rèn)沒(méi)有問(wèn)題,再 cherry-pick 到 pre-production,這一步也沒(méi)有問(wèn)題,才進(jìn)入 production,如下圖:

只有緊急情況,才允許跳過(guò)上游,直接合并到下游分支。

有穩(wěn)定的版本需要發(fā)布時(shí),我們就從 master 上拉一個(gè)新的分支出來(lái),作為發(fā)版時(shí)候的分支,這些分支上不要開(kāi)發(fā)新功能,只有修補(bǔ) BUG 的時(shí)候

對(duì)于”版本發(fā)布”的項(xiàng)目,建議的做法是每一個(gè)穩(wěn)定版本,都要從master分支拉出一個(gè)分支,比如2-3-stable、2-4-stable等等。

以后,只有修補(bǔ)bug,才允許將代碼合并到這些分支,并且此時(shí)要更新小版本號(hào)即可。

4. 小結(jié)

好啦這就是常見(jiàn)的三個(gè) Git 玩轉(zhuǎn)流程,其實(shí)我們自己開(kāi)發(fā)不必這么死板,結(jié)合自己的項(xiàng)目來(lái)就行了,松哥的項(xiàng)目,master、develop 以及 release 三個(gè)分支是固定的,這三個(gè)分支的作用跟前面介紹的 Git Flow 也是一致的,在此基礎(chǔ)之上,其他的基本上沒(méi)有太多限制,比較自由。

審核編輯:符乾江

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6067

    文章

    44992

    瀏覽量

    650672
  • Git
    Git
    +關(guān)注

    關(guān)注

    0

    文章

    205

    瀏覽量

    16225
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    VirtualLab Fusion應(yīng)用:將光耦合入單模光纖的最佳工作距離

    光斑計(jì)算初始工作距離 在光線(xiàn)光學(xué)焦點(diǎn)距離處的光場(chǎng)評(píng)估 通過(guò)參數(shù)掃描確定最佳工作距離 在最佳距離處的場(chǎng)評(píng)估 工作流程步驟基礎(chǔ)
    發(fā)表于 06-03 08:44

    天馬榮獲新財(cái)富雜志“2024 ESG最佳實(shí)踐獎(jiǎng)”

    天馬可持續(xù)發(fā)展?ESG表現(xiàn)再獲認(rèn)可,上榜2024年新財(cái)富雜志最佳上市公司評(píng)選“ESG最佳實(shí)踐榜單”。
    的頭像 發(fā)表于 05-21 14:43 ?363次閱讀

    DLP7000的光的入射角度是多少才是最佳的?

    有關(guān)DLP7000的光的入射角度是多少(垂直于芯片方向)才是最佳的?
    發(fā)表于 02-21 12:02

    兆芯最佳實(shí)踐應(yīng)用場(chǎng)景解決方案發(fā)布

    《兆芯最佳實(shí)踐應(yīng)用場(chǎng)景解決方案》現(xiàn)已正式發(fā)布,掃描下方二維碼或點(diǎn)擊閱讀原文即可獲取下載。
    的頭像 發(fā)表于 01-13 14:45 ?601次閱讀

    AI工作流自動(dòng)化是做什么的

    AI工作流自動(dòng)化是指利用人工智能技術(shù),對(duì)工作流程中的重復(fù)性、規(guī)則明確的任務(wù)進(jìn)行自動(dòng)化處理的過(guò)程。那么,AI工作流自動(dòng)化是做什么的呢?接下來(lái),AI部落小編為您分享。
    的頭像 發(fā)表于 01-06 17:57 ?737次閱讀

    4G模組之UDP應(yīng)用的最佳實(shí)踐

    今天說(shuō)的是4G模組之UDP應(yīng)用,展示最佳實(shí)踐,送你參考。
    的頭像 發(fā)表于 11-08 09:24 ?1123次閱讀
    4G模組之UDP應(yīng)用的<b class='flag-5'>最佳</b><b class='flag-5'>實(shí)踐</b>!

    MES系統(tǒng)的最佳實(shí)踐案例

    效率、降低成本、保證產(chǎn)品質(zhì)量。 MES系統(tǒng)的最佳實(shí)踐案例 引言 在當(dāng)今競(jìng)爭(zhēng)激烈的制造業(yè)環(huán)境中,企業(yè)必須不斷尋求創(chuàng)新和改進(jìn)的方法來(lái)保持競(jìng)爭(zhēng)力。MES系統(tǒng)作為一種關(guān)鍵的信息技術(shù)工具,已經(jīng)被廣泛應(yīng)用于各種制造行業(yè),以實(shí)現(xiàn)生產(chǎn)過(guò)程的優(yōu)化和管理。本文將探討MES系統(tǒng)的
    的頭像 發(fā)表于 10-27 09:33 ?2959次閱讀

    邊緣計(jì)算架構(gòu)設(shè)計(jì)最佳實(shí)踐

    邊緣計(jì)算架構(gòu)設(shè)計(jì)最佳實(shí)踐涉及多個(gè)方面,以下是一些關(guān)鍵要素和最佳實(shí)踐建議: 一、核心組件與架構(gòu)設(shè)計(jì) 邊緣設(shè)備與網(wǎng)關(guān) 邊緣設(shè)備 :包括各種嵌入式設(shè)備、傳感器、智能手機(jī)、智能攝像頭等,負(fù)責(zé)采
    的頭像 發(fā)表于 10-24 14:17 ?1109次閱讀

    云計(jì)算平臺(tái)的最佳實(shí)踐

    云計(jì)算平臺(tái)的最佳實(shí)踐涉及多個(gè)方面,以確保高效、安全、可擴(kuò)展和成本優(yōu)化的云環(huán)境。以下是一些關(guān)鍵的最佳實(shí)踐: 一、云成本優(yōu)化 詳細(xì)分析云使用情況 :通過(guò)細(xì)致的監(jiān)控和分析,識(shí)別低ROI(投資
    的頭像 發(fā)表于 10-24 09:17 ?719次閱讀

    TMCS110x 布局挑戰(zhàn)和最佳實(shí)踐

    電子發(fā)燒友網(wǎng)站提供《TMCS110x 布局挑戰(zhàn)和最佳實(shí)踐.pdf》資料免費(fèi)下載
    發(fā)表于 09-12 09:23 ?0次下載
    TMCS110x 布局挑戰(zhàn)和<b class='flag-5'>最佳</b><b class='flag-5'>實(shí)踐</b>

    衰減 AMC3301 系列輻射發(fā)射 EMI 的最佳實(shí)踐

    電子發(fā)燒友網(wǎng)站提供《衰減 AMC3301 系列輻射發(fā)射 EMI 的最佳實(shí)踐.pdf》資料免費(fèi)下載
    發(fā)表于 09-11 09:59 ?0次下載
    衰減 AMC3301 系列輻射發(fā)射 EMI 的<b class='flag-5'>最佳</b><b class='flag-5'>實(shí)踐</b>

    毫米波雷達(dá)器件的放置和角度最佳實(shí)踐應(yīng)用

    電子發(fā)燒友網(wǎng)站提供《毫米波雷達(dá)器件的放置和角度最佳實(shí)踐應(yīng)用.pdf》資料免費(fèi)下載
    發(fā)表于 09-09 09:57 ?2次下載
    毫米波雷達(dá)器件的放置和角度<b class='flag-5'>最佳</b><b class='flag-5'>實(shí)踐</b>應(yīng)用

    電機(jī)驅(qū)動(dòng)器電路板布局的最佳實(shí)踐

    電子發(fā)燒友網(wǎng)站提供《電機(jī)驅(qū)動(dòng)器電路板布局的最佳實(shí)踐.pdf》資料免費(fèi)下載
    發(fā)表于 09-05 11:33 ?18次下載
    電機(jī)驅(qū)動(dòng)器電路板布局的<b class='flag-5'>最佳</b><b class='flag-5'>實(shí)踐</b>

    MSP430 FRAM技術(shù)–使用方法和最佳實(shí)踐

    電子發(fā)燒友網(wǎng)站提供《MSP430 FRAM技術(shù)–使用方法和最佳實(shí)踐.pdf》資料免費(fèi)下載
    發(fā)表于 08-23 09:23 ?0次下載
    MSP430 FRAM技術(shù)–使用方法和<b class='flag-5'>最佳</b><b class='flag-5'>實(shí)踐</b>

    RTOS開(kāi)發(fā)最佳實(shí)踐

    基于RTOS編寫(xiě)應(yīng)用程序時(shí),有一些要注意事項(xiàng)。在本節(jié)中,您將學(xué)習(xí)RTOS開(kāi)發(fā)最佳實(shí)踐,例如POSIX合規(guī)性、安全性和功能安全認(rèn)證。
    的頭像 發(fā)表于 08-20 11:24 ?854次閱讀