<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      test: 博客美化中……

      GIT工作流

      前言: 關(guān)于git的使用, 之前就已經(jīng)寫(xiě)過(guò)一篇博客了: http://www.rzrgm.cn/0zcl/p/6874588.html. 看完這篇博客, 你就基本可以使用git了. 這種使用, 僅限了一兩人的開(kāi)發(fā). 如果團(tuán)隊(duì)有多人, 而且位置較分散. 那這開(kāi)發(fā)就更需要規(guī)范了. 因此, 這篇博客來(lái)說(shuō)一下GIT工作流.

       

      本來(lái)以為我用git命令行可以解決GIT工作流上的問(wèn)題,但其實(shí)只用命令行還是蠻困難的。下面先看看GIT的規(guī)范, 這部分比較無(wú)聊, 下面會(huì)圖文并茂的, 好吧. 如果你瞄了一眼, 覺(jué)得這SB博客, 寫(xiě)得太low了, 然后就關(guān)掉這篇博客, 我感覺(jué)還是錯(cuò)過(guò)一些東東.

      一、提交規(guī)則

      [feature] 新增功能、更新的提交,例如“[feature] add a new data layer for reading jpeg images”

      [bugfix] bug修正的提交,有bugid的補(bǔ)充bugid,例如“[bugfix] now data layer reads single-channel images correctly”

      [optimize] 優(yōu)化的提交:性能等方面,feature分之下的單次優(yōu)化要指明,優(yōu)化分支下的用[feature]即可

      [refactor] 代碼等重構(gòu)的提交,feature分之下的單次重構(gòu)要指明,重構(gòu)分支下的用[feature]即可

      • 每次提交應(yīng)該只能有一個(gè)修改,不能將多個(gè)邏輯修改放在一個(gè)提交中;不可將一個(gè)邏輯修改分成多個(gè)提交
        • 例如: 同時(shí)修復(fù)一個(gè)bug,同時(shí)做了重構(gòu)或優(yōu)化,就要把提交分成兩個(gè)(bugfix、refactor/optimize)。
      • 每次merged到develop分支的代碼必須為可運(yùn)行的,并且保證多平臺(tái)可用
      • 多人協(xié)作過(guò)程中如果在開(kāi)發(fā)同一個(gè)feature,不可以在同一個(gè)feature分支進(jìn)行開(kāi)發(fā),需要各自拉出新feature分支獨(dú)立開(kāi)發(fā),完成后merge到共同的feature分支
      • 每日至少一次Git提交,防止代碼丟失
      • feature分支在完成后合并到develop

       

      二、版本號(hào)的定義

      A.B.C。例如1.1.0。按照功能來(lái)定:

      • 如果是大的版本更新,則A+1,并且B和C都設(shè)置為0;
      • 如果是小的版本更新,則B+1,并且A不變,C設(shè)置為0;
      • 如果是修復(fù)bug的版本更新,則C+1,并且A和B都不變。

       

      三、Git工作流

      添加一個(gè)工程文件以后,點(diǎn)擊:(倉(cāng)庫(kù))——(git flow)——(初始化倉(cāng)庫(kù))

      • 這個(gè)的目的是為了方便git各種分支的自動(dòng)生成,同時(shí)也是為了后續(xù)工作流的方便使用。

      develop

      當(dāng)前版本最新開(kāi)發(fā)進(jìn)展,未測(cè)試或者測(cè)試中,對(duì)于單人開(kāi)發(fā)小模塊可以直接提交,多人協(xié)作及大模塊必須通過(guò)合并具體功能子分支,接受來(lái)自feature,release,hotfix的合并。

      • 創(chuàng)建分支必須通過(guò)(git flow)——(建立新的功能)從develop來(lái)進(jìn)行

      feature分支

      這個(gè)分支主要是為了各種研發(fā)方案執(zhí)行使用。(必須推送遠(yuǎn)端,完成feature后合并到develop,以及測(cè)試下是否可以執(zhí)行)

      • 分支命名以版本號(hào)+開(kāi)發(fā)者+模塊的形式來(lái),例如:feature/1.0.0_aidy_newfeature。
      • 當(dāng)分支特性開(kāi)發(fā)完成后合并到develop,主要是通過(guò)(git flow)——(完成功能)來(lái)進(jìn)行合并,或者手動(dòng)合并。
      • 當(dāng)出現(xiàn)合并沖突時(shí),記得與沖突者當(dāng)面一起溝通與合并,并確認(rèn)效果ok。

      release分支

      這個(gè)分支主要是給研發(fā)方案差不多確定時(shí)使用,主要是為了fixbug等。(完成feature后,必須推送遠(yuǎn)端,以及測(cè)試下是否可以執(zhí)行)

      • 這個(gè)分支只來(lái)自develop,當(dāng)研發(fā)差不多了以后,就開(kāi)始做release分支。
      • 命名為版本號(hào),例如1.0.0。主要是通過(guò)(git flow)——(建立新的發(fā)布版本)來(lái)進(jìn)行。
      • 當(dāng)realease分支差不多了,就通過(guò)(git flow)——(完成發(fā)布版本)來(lái)進(jìn)行。并會(huì)打一個(gè)版本號(hào)的標(biāo)簽。
      • 完成后并入develop和master。

      hotfix分支

      主要用于最新發(fā)布版本的bug修復(fù)。

      當(dāng)前版本

      • 就通過(guò)(git flow)——(建立新的修復(fù)補(bǔ)丁)來(lái)進(jìn)行。
      • 當(dāng)完成以后,通過(guò)(git flow)——(完成新的修復(fù)補(bǔ)?。﹣?lái)進(jìn)行合并。
      • 當(dāng)出現(xiàn)合并沖突時(shí),記得與沖突的修改者當(dāng)面一起溝通與合并,并確認(rèn)效果ok

       

      以上來(lái)自GIT規(guī)范,然而看完GIT規(guī)范感覺(jué)還是沒(méi)有頓悟的感覺(jué)。so,必須得會(huì)使用smartgit呀。

       

      四、使用SmartGit

      看完GIT規(guī)范,你已經(jīng)知道,feature分支是平時(shí)開(kāi)發(fā)功能用的,完成feature分支開(kāi)發(fā)后,合并到develop分支,合并成功后,刪除該feature分支。這用smartgit可以輕松實(shí)現(xiàn),用命令行的話(huà)是比較麻煩,但也可以實(shí)現(xiàn)呀。現(xiàn)在的問(wèn)題是,用smartgit如何輕松實(shí)現(xiàn)創(chuàng)建feature分支,刪除feature分支?

      點(diǎn)擊Git-Flow,再點(diǎn)擊configure,可出現(xiàn)如下圖:如果你找不到下圖這個(gè)界面,那必然是你操作的姿勢(shì)有問(wèn)題。

      看到?jīng)]有,神奇呀,在上圖中,你只需點(diǎn)擊OK,GIT就會(huì)自動(dòng)幫你創(chuàng)建feature, release, hot-fix, develop分支。這超牛逼的。這步操作很重要。完成這步操作后,會(huì)出現(xiàn)develop分支,此時(shí)需要把develop分支推到遠(yuǎn)程。

      正常情況下,你遠(yuǎn)程倉(cāng)庫(kù)應(yīng)該有兩個(gè)分支了,分別是master和develop分支。如果沒(méi)有,把它們推到遠(yuǎn)程。

      啥,不知道怎么push?有兩種方式,在上圖的左下角的Branches窗口下,你可以點(diǎn)擊master分支,然后鼠標(biāo)右擊,再點(diǎn)擊push to ;也可以在左下角的Branches窗口下,雙擊要push的分支A,此時(shí)分切換到A分支,然后再點(diǎn)擊上圖左上方的Push推到遠(yuǎn)程。

       

      五、feature分支的使用

      OK,此時(shí)遠(yuǎn)程倉(cāng)庫(kù)應(yīng)該有兩個(gè)分支master/develop,然而這還遠(yuǎn)遠(yuǎn)不夠呀,你看到同事的項(xiàng)目有一個(gè)feature分支。so,你肯定也是需要feature分支的。

      點(diǎn)擊Git-Flow,會(huì)出現(xiàn)下圖。如果沒(méi)出現(xiàn)Start Feature; Start Release這些,必然是你最開(kāi)始的configure有問(wèn)題。

      點(diǎn)擊Start Feature來(lái)創(chuàng)建一個(gè)feature分支,分支命令要參考命名規(guī)范。

      現(xiàn)在你已經(jīng)有一個(gè)feature分支了。在該分支提交些東西,commit后,提交到遠(yuǎn)程。你會(huì)驚喜的發(fā)現(xiàn)遠(yuǎn)程的倉(cāng)庫(kù)出現(xiàn)feature分支。

       

      現(xiàn)在你可以不斷地開(kāi)發(fā),提交代碼到feature分支上,但feature分支只負(fù)責(zé)一個(gè)功能的開(kāi)發(fā)而已,當(dāng)這個(gè)功能開(kāi)發(fā)完成后,必然需要把該feature分支刪除。

      簡(jiǎn)單粗暴地說(shuō),就是當(dāng)feature/0.0.2_zzy_example分支負(fù)責(zé)的功能開(kāi)發(fā)完畢時(shí),需要把feature分支合并到develop分支,合并完成后,feature分支刪除,此時(shí)遠(yuǎn)程倉(cāng)庫(kù)就看不到feature/0.0.2_zzy_example分支。

      其實(shí)smartgit已經(jīng)幫我們簡(jiǎn)化了工作。牛逼呀。

      當(dāng)你創(chuàng)建feature分支時(shí),會(huì)自動(dòng)切換到feature分支。完成功能開(kāi)發(fā)后,想把feature分支合并到develop分支,如何做呢?

      只需點(diǎn)擊Git-Flow,就會(huì)出現(xiàn)下圖。注意,此時(shí)你應(yīng)該是處于feature分支的:

      看到上圖的Delete feature branch沒(méi),當(dāng)你合并完成后,就會(huì)把feature分支刪除。

      接下來(lái)你需要把develop分支推到遠(yuǎn)程。你會(huì)發(fā)現(xiàn)遠(yuǎn)程的feature分支不見(jiàn)了。

      以上,是feature分支開(kāi)發(fā)的流程。

       

      六、發(fā)布版本

      今天,團(tuán)長(zhǎng)想考下git方面的操作。給我一個(gè)需求:

      先來(lái)看看GIT規(guī)范對(duì)于release分支是如何介紹的:

      release分支

      這個(gè)分支主要是給研發(fā)方案差不多確定時(shí)使用,主要是為了fixbug等。(完成feature后,必須推送遠(yuǎn)端,以及測(cè)試下是否可以執(zhí)行)

      • 這個(gè)分支只來(lái)自develop,當(dāng)研發(fā)差不多了以后,就開(kāi)始做release分支。
      • 命名為版本號(hào),例如1.0.0。主要是通過(guò)(git flow)——(建立新的發(fā)布版本)來(lái)進(jìn)行。
      • 當(dāng)realease分支差不多了,就通過(guò)(git flow)——(完成發(fā)布版本)來(lái)進(jìn)行。并會(huì)打一個(gè)版本號(hào)的標(biāo)簽。
      • 完成后并入develop和master。

      第一步

      先創(chuàng)建一個(gè)release分支:點(diǎn)擊Git-Flow,再點(diǎn)擊start release:

      輸入release分支名,分支名參考GIT規(guī)范。

       

      第二步:可以在release分支commit, push到遠(yuǎn)程。此時(shí)你的遠(yuǎn)程除master, develop外,應(yīng)該得有一個(gè)release分支

       

      第三步:發(fā)布版本

      點(diǎn)擊finish,就會(huì)發(fā)布版本啦,這里需要給版本打一個(gè)tag,tag默認(rèn)會(huì)自動(dòng)顯示為你的版本號(hào)。同時(shí)會(huì)把release合并到master與develop分支。再同時(shí)發(fā)布之后,會(huì)刪除該release分支。

       

      此時(shí)遠(yuǎn)程如下顯示:沒(méi)有release分支。多了一個(gè)Tags版本:

      至此,團(tuán)長(zhǎng)交待的任務(wù)完成!

       

       

      七、附本人測(cè)試用了GIT分支圖:

       

       

      八、總結(jié):

      1. 由于最開(kāi)始就沒(méi)用好smartgit,比如下面這張圖的操作。之前就沒(méi)用到,導(dǎo)致后面的操作不順。
      2. 不要用命令行,不要用命令行,不要用命令行。命令行操作add, commit, push還可以,但對(duì)于分支操作,版本發(fā)布,用smartgit,用smartgit,用smartgit。
      3. 我想git這塊我頓悟了。佛系佛系,喝懷奶荼冷靜一下。

       

      posted @ 2018-02-13 00:04  前程明亮  閱讀(1496)  評(píng)論(1)    收藏  舉報(bào)
      主站蜘蛛池模板: 色伊人久久综合中文字幕| 国产精品高清一区二区三区不卡 | 久久人人97超碰精品| 日韩A人毛片精品无人区乱码| 垫江县| 日本一级午夜福利免费区| 宅男噜噜噜66网站高清| 亚洲性猛交xxxx| 国产精品爱久久久久久久电影| 久久亚洲精品无码播放| 精品人妻伦九区久久aaa片| 在线精品视频一区二区| 99久久精品国产一区二区| 亚洲午夜理论片在线观看| 国产欧美日韩亚洲一区二区三区| 欧美黑人巨大xxxxx| 亚洲av无码专区在线厂| 国产首页一区二区不卡| 亚洲国产精品热久久一区| 老鸭窝在钱视频| 亚洲欧美人成电影在线观看| 国产香蕉久久精品综合网| 精品无码黑人又粗又大又长| 免费久久人人爽人人爽AV| 久久精品免视看成人国产| 久久国内精品一国内精品| 18禁裸乳无遮挡啪啪无码免费| 99久久精品国产一区二区蜜芽| 亚洲av伦理一区二区| 国产在线观看免费人成视频| 在线涩涩免费观看国产精品| 疯狂做受xxxx高潮欧美日本| 久久精品无码一区二区小草| 密云县| 成人精品一区日本无码网| 国内自拍视频一区二区三区| 普兰店市| 精品久久久久久无码不卡| 国产永久免费高清在线观看| 新宾| 精品综合久久久久久97|