亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于git工具的多分支并行開發(fā)上線流程

        2019-06-20 10:31:23田江濤
        電子技術(shù)與軟件工程 2019年5期
        關(guān)鍵詞:開發(fā)人員分支倉庫

        田江濤

        摘要??? 在軟件開發(fā)過程中,經(jīng)常使用并行開發(fā)的方式,即將同一個項目分配給不同的人來完成,每個人負責(zé)其中的一個模塊,等所有人都完成后,再進行整合。最后整合面臨的問題是需要選出一個人來進行專門整合,此時的工作量會非常的龐大。本文介紹了git,svn等scm軟件的區(qū)別,并結(jié)合實際場景,介紹了使用git工具,在一個簡單的gitflow下,并行開發(fā)的場景。希望能夠幫助其它開發(fā)人員使用git工具來進行類似的工作。

        【關(guān)鍵詞】軟件開發(fā) git

        1 git及其它工具介紹

        git是版本管理工具的一種,它是分布式的,每一個git repo都是包含了完整的信息和數(shù)據(jù),開發(fā)者完全可以在本地進行開發(fā),無需網(wǎng)絡(luò)連接。git工具的最大特點是多分支,可以支持多分支開發(fā),這為多分支并行開發(fā)提供了基礎(chǔ)。

        相比git,SVN是集中式版本控制系統(tǒng),所有代碼集中存放在中央服務(wù)器中,SVN最大的缺點是必須聯(lián)網(wǎng)才能工作,而且會受網(wǎng)絡(luò)速度的限制。另外集中式版本控制系統(tǒng)依賴于中央服務(wù)器,假如服務(wù)器宕機了,任何人都無法提交代碼。并且SVN的分支相對git要弱得多。

        其它類似的SCM比如,Mercurial和Bazaar還有微軟的VCS,但是使用最多最廣,功能最為強大的還是git。

        git的分支:

        master:主分支,當(dāng)前分支上的代碼隨時可以直接發(fā)布,并且只能通過Pull Request從其他分支進行合并,而不能直接push修改。當(dāng)開發(fā)告一段落,產(chǎn)生了新的可供發(fā)布的代碼時,master分支通過Pull Request更新了代碼。

        develop:開發(fā)分支,保存當(dāng)前最新開發(fā)成果的分支,即當(dāng)一個新功能開發(fā)完畢需要先合并到develop分支,這個分支的代碼會進行每日的代碼持續(xù)集成。所有的開發(fā)任務(wù)都是從這個分支Checkout新的特性分支進行開發(fā)。

        feature:特性分支,當(dāng)開發(fā)新的功能時,從develop分支Checkout新的feature分支,這個分支的代碼最終要合并回develop分支或者廢棄掉。feature分支通常以功能為單位。

        2 git,gitlab和gitflow

        git的功能是非常強大的,但是使用它有一定的難度,尤其是要分清git,gitlab,gitflow的區(qū)別。

        git如前所述,就是一個基礎(chǔ)工具,如果在linux如紅帽或者是centos下,yum install git就能安裝這個工具,但是這個工具只具有基礎(chǔ)的功能,是基于命令行的,用戶管理等待其它功能基本沒有,只使用這個linux下的git來進行開發(fā)管理還是有以難度的。

        所以有了gitlab,這個是基于git的web管理工具,使用它有友好的界面和完備的管理各種管理功能,甚至還集成了CI/CD功能,使用gitlab來管理開發(fā)工作會非常方便,最難得是它支持在內(nèi)網(wǎng)部署,這就為廣大開發(fā)者提供了一個強大的工具。類似的軟件還有g(shù)ogs。

        而gitflow不同于前兩者,它是開發(fā)的流程和約定。

        3 基于git工具建立并行開發(fā)上線流程

        3.1 靈活的gitflow

        我們的項目包含大約2000個獨立的小文件,對于這個項目的管理,我們使用如下的gitflow:

        (1)設(shè)置開發(fā),測試和維護角色,并行工作,互不干涉。倉庫設(shè)置develop和master分支,并禁止直接推送。

        (2)每一個開發(fā)人員使用一個開發(fā)分支,分支名字不能重復(fù),開發(fā)完畢后上傳遠程倉庫。

        (3)測試人員測試腳本通過后,將開發(fā)分支合并到develop并刪除此分支。

        (4)維護人員定期合并develop和master分支,并將項目同步到服務(wù)器。

        上述的gitflow提供了并行開發(fā)的管理流程,并且能最大可能的避免沖突的產(chǎn)生,這樣的并行開發(fā)上線效率將大大的優(yōu)于串行開發(fā)的效率。

        3.2開發(fā)過程

        將項目托管到gogs服務(wù)器上,將它作為遠程倉庫,并建立兩個分支:master分支(穩(wěn)定生產(chǎn)版),develop分支(測試完成版),然后開發(fā)人員根據(jù)不同的任務(wù),建立本地分支,在該分支上進行開發(fā),工作完成后將代碼push到develop分支上,假如有沖突,則要先解決沖突,而后再次將代碼push到develop分支上。具體流程如下:

        (1)首先在電腦上安裝TortoiseGit:可以從Git官網(wǎng)直接下載安裝程序,然后按默認選項安裝即可。

        (2)將代碼下載到本地,如果本地已經(jīng)有代碼則直接進入下一步:

        Git clone http://133.96.72.138:30000/tianjiangtao/2017GS.git

        (3)在本地進行常規(guī)開發(fā),可使用vscode進行開發(fā),增加、修改、刪除文件等等操作。

        更改目錄:cd 2017GS;

        切換分支到develop(開發(fā)分支):git checkout develop;

        查看分支:git branch-a;

        創(chuàng)建自己的dev分支(dev名稱可以任意?。篻it branch dev;

        切換到dev分支:git checkout dev;添加修改:git add *;

        (4)在本地開發(fā)工作告一段落,需要把本地代碼推送(Push)到遠程分支上,提交變更及增加新的分支,服務(wù)端如果無分支,就在遠端創(chuàng)建:git push--set-upstream origin dev。

        提交后會與遠程庫進行一次同步,最終清理掉版本庫中的dev分支,但本地工作區(qū)中的dev分支并不會刪除:git remote prune origin。

        (5)如果其他人已經(jīng)向dev分支推送了他的提交,而你也對同樣的文件作了修改,在推送的時候會提示推送失敗,因為他的最新提交和你試圖推送的提交有沖突。解決辦法很簡單:先用git pull把最新的提交從dev拖下來,然后,在本地合并解決沖突,再推送到遠程倉庫。

        4 結(jié)語

        綜上所述,基于git的并行開發(fā)上線流程,可以實現(xiàn)團隊內(nèi)的有效合作,提高工作效率,避免資源浪費。版本庫本地化,支持離線提交,相對獨立不影響協(xié)同開發(fā)。每個開發(fā)者都擁有自己的版本控制庫,在自己的版本庫上可以任意的執(zhí)行提交代碼、創(chuàng)建分支等行為。更少的“倉庫污染”。git對于每個工程只會產(chǎn)生一個 .git目錄,這個工程所有的版本控制信息都在這個目錄中。

        猜你喜歡
        開發(fā)人員分支倉庫
        倉庫里的小偷
        填滿倉庫的方法
        四行倉庫的悲壯往事
        巧分支與枝
        Semtech發(fā)布LoRa Basics 以加速物聯(lián)網(wǎng)應(yīng)用
        一類擬齊次多項式中心的極限環(huán)分支
        讓W(xué)indows 10進入開發(fā)者模式
        電腦迷(2015年12期)2015-04-29 23:22:51
        消防設(shè)備
        后悔了?教你隱藏開發(fā)人員選項
        電腦愛好者(2015年6期)2015-04-03 01:20:56
        生成分支q-矩陣的零流出性
        亚洲精品国产一二三无码AV| 一本一道vs无码中文字幕| 欧美人伦禁忌dvd放荡欲情| 日韩av无码成人无码免费| 美女爽好多水快进来视频| 日本91一区二区不卡| 国产精品无码一区二区三区在 | 国产91精品在线观看| 亚洲人交乣女bbw| 无套内谢孕妇毛片免费看看 | 日韩精品久久伊人中文字幕| 国产亚洲成人av一区| 国产青草视频在线观看| 久久精品无码一区二区三区蜜费| 一区二区三区在线观看视频免费| 青青草亚洲视频社区在线播放观看| 成人无码α片在线观看不卡| 国产欧美va欧美va香蕉在线观 | 一本加勒比hezyo无码专区| 蜜桃av噜噜一区二区三区| 国产高清天干天天视频| 国产三级精品和三级男人| 日本特黄特色特爽大片| 国产精品精品| 熟妇人妻丰满少妇一区| 丝袜美腿亚洲一区二区| 国产精品国产成人国产三级| 亚洲中文无码精品久久不卡| 男女视频网站在线观看| 99精品国产一区二区三区不卡 | 亚洲成a人片在线观看高清| 国产精品一区二区久久久av| 亚洲中文字幕无码一久久区| 亚洲AV无码久久久一区二不卡| 少妇人妻200篇白洁| 久久一日本道色综合久久大香| 天堂一区二区三区精品| 山外人精品影院| 国产久热精品无码激情 | 亚洲成人免费久久av| 成年美女黄的视频网站|