999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2019-06-20 10:31:23田江濤
電子技術(shù)與軟件工程 2019年5期
關(guān)鍵詞:功能

田江濤

摘要??? 在軟件開發(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:主分支,當前分支上的代碼隨時可以直接發(fā)布,并且只能通過Pull Request從其他分支進行合并,而不能直接push修改。當開發(fā)告一段落,產(chǎn)生了新的可供發(fā)布的代碼時,master分支通過Pull Request更新了代碼。

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

feature:特性分支,當開發(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ù)雜功能
鐘表(2023年5期)2023-10-27 04:20:44
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
基層弄虛作假的“新功能取向”
當代陜西(2021年21期)2022-01-19 02:00:26
深刻理解功能關(guān)系
鉗把功能創(chuàng)新實踐應(yīng)用
關(guān)于非首都功能疏解的幾點思考
基于PMC窗口功能實現(xiàn)設(shè)備同步刷刀功能
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡直”和“幾乎”的表達功能
中西醫(yī)結(jié)合治療甲狀腺功能亢進癥31例
主站蜘蛛池模板: 久久久久久久久久国产精品| 手机在线免费不卡一区二| 国产v精品成人免费视频71pao| 国产精品亚洲精品爽爽| 欧美精品1区2区| 蜜芽国产尤物av尤物在线看| 欧日韩在线不卡视频| 人妻免费无码不卡视频| 日韩国产亚洲一区二区在线观看| 无码AV高清毛片中国一级毛片| 免费xxxxx在线观看网站| 亚洲男人的天堂网| 一级毛片视频免费| 国产美女无遮挡免费视频| 日韩麻豆小视频| 国产一区二区精品高清在线观看| 国产一在线观看| 黄色成年视频| 免费精品一区二区h| 国产成人91精品| 国产区免费精品视频| 99这里只有精品6| 中文字幕亚洲另类天堂| 91精品国产一区自在线拍| 狼友av永久网站免费观看| 精品国产欧美精品v| 亚洲五月激情网| 亚洲av日韩av制服丝袜| 色呦呦手机在线精品| 91精品人妻一区二区| 亚洲人成亚洲精品| 久久久无码人妻精品无码| 怡红院美国分院一区二区| 999国产精品永久免费视频精品久久| 国产国产人成免费视频77777 | 98精品全国免费观看视频| 成人91在线| 亚洲看片网| 国产微拍一区二区三区四区| 日韩免费无码人妻系列| 欧美色丁香| 51国产偷自视频区视频手机观看| 国产毛片片精品天天看视频| 欧美一级大片在线观看| 国产丝袜第一页| 久久99国产综合精品1| 国产理论最新国产精品视频| 99这里只有精品免费视频| 波多野结衣在线se| 91成人在线观看视频| 71pao成人国产永久免费视频| 91久久国产综合精品女同我| 亚洲一区二区日韩欧美gif| 欧美成人在线免费| 免费在线国产一区二区三区精品| 69精品在线观看| 日韩一区二区三免费高清| 亚洲开心婷婷中文字幕| 狠狠亚洲婷婷综合色香| 特级欧美视频aaaaaa| 欧美精品H在线播放| 国产最爽的乱婬视频国语对白| 国产精品免费电影| 中文国产成人精品久久| 亚洲免费毛片| 午夜啪啪福利| 亚洲欧美另类久久久精品播放的| 天天视频在线91频| 一级爆乳无码av| 欧美啪啪一区| 久青草网站| 欧美精品伊人久久| а∨天堂一区中文字幕| 亚洲精品国产精品乱码不卞| 亚洲国产天堂在线观看| 成人午夜精品一级毛片| a免费毛片在线播放| 无码日韩视频| 91探花在线观看国产最新| 综合社区亚洲熟妇p| 亚洲高清日韩heyzo| 欧美成人综合视频|