成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

軟件企業(yè)從Subversion遷移到Git ,真的準(zhǔn)備好了嗎?

運維 系統(tǒng)運維
隨著GitHub的流行,很多軟件企業(yè)開始計劃轉(zhuǎn)向Git,從SVN到Git,不僅僅是工具的替換,還有基于其上的工具和一些管理流程的變化。但是企業(yè)真的準(zhǔn)備好了嗎?

除了人,軟件公司最寶貴的就是代碼了,這些代碼大多儲存在Subversion(以下簡稱”SVN”)這樣開源的版本控制系統(tǒng)(VCS)中。代碼是容易修改和變更的,因此,代碼的備份、歷史追蹤、協(xié)同編輯等任務(wù)同樣需要版本控制系統(tǒng)完成。從最早本地VCS系統(tǒng)RCS、1990年CVS、2000年SVN,到如今開源世界風(fēng)頭正健的Git,同語言編輯工具一樣,SVN、Git都是程序員的必備利器。隨著GitHub的流行,很多軟件企業(yè)開始計劃轉(zhuǎn)向Git,但是企業(yè)真的準(zhǔn)備好了嗎?

SVN到Git,不僅僅是工具的替換,還有基于其上的工具和一些管理流程的變化。筆者建議:軟件企業(yè)需要評估自己當(dāng)前的狀態(tài)和企業(yè)文化,認(rèn)真考慮商業(yè)目標(biāo),謹(jǐn)慎遷移。我們不妨從以下幾點來探討一下。

陡峭的學(xué)習(xí)曲線

對于采用SVN進(jìn)行管理的企業(yè),Git相對復(fù)雜,開發(fā)工程師的學(xué)習(xí)曲線并不平緩。

Git的命令分為高層和底層,常用的高層命令約有30多個,與SVN近似。這些操作不能繼承SVN的經(jīng)驗,因此工程師需要重新學(xué)習(xí)branch、merge、reset、rebase、revert、pull、fetch等操作命令,需要重新了解哈希值格式的版本號,并用它來進(jìn)行檢出、比較等。

對于較多使用word、ppt、excel、圖片、IDE等工具的人員來說,從類似FTP的SVN轉(zhuǎn)向Git ,學(xué)習(xí)過程會比較痛苦。

缺少角色授權(quán)和文件級訪問控制

Git作為開源自由原教旨主義項目,它沒有對版本庫的瀏覽和修改做任何的權(quán)限限制。Git的創(chuàng)始人Linus Torvalds 也曾說:“不要讓權(quán)限成為政治的理由,Git沒有權(quán)限控制。”

由于缺少角色授權(quán),因此在組織結(jié)構(gòu)管理上比較困難。實際操作中,一個Git倉庫用來實現(xiàn)一個項目,大型項目可能需要許多Git倉庫配合實現(xiàn)。在SVN中不同項目在不同目錄中,通過角色授權(quán)完成組織結(jié)構(gòu)的規(guī)劃。

實現(xiàn)商業(yè)目標(biāo)的軟件企業(yè)顯然需要文檔或代碼的訪問授權(quán)和控制,目前Git本身是不支持的,需要集成第三方工具實現(xiàn)訪問控制。

有限的目錄檢出功能

SVN是一個中心倉庫和眾多客戶端目錄的關(guān)系,因此,SVN用戶都熟悉工作在某個目錄上,在不同的工作計算機(jī)上,檢出目錄就可以編輯。然而,Git是一個中心倉庫和眾多客戶端倉庫的關(guān)系,你必須工作在整個倉庫上,雖然在Git1.7版本后支持了類似目錄檢出的功能,但仍要先檢出整個倉庫。軟件企業(yè)的工程師常同時在多個項目中工作,如果修改一點東西就需要克隆倉庫,對故障響應(yīng)將有影響。

浪費已投入的開發(fā)成本

軟件開發(fā)生命周期管理工具的基礎(chǔ)是版本控制系統(tǒng),各商業(yè)軟件開發(fā)管理平臺都是基于自主研發(fā)的版本控制系統(tǒng),在此基礎(chǔ)上擴(kuò)展到項目管理、文檔管理、代碼評審、發(fā)布部署、缺陷管理等。基于SVN的開源或自主研發(fā)的管理工具非常成熟多樣。遷移到Git,則完全浪費了投入到SVN管理工具的開發(fā)成本。

圖形化工具及接口不夠強(qiáng)

雖然Git的圖形工具正在增多,但在Windows下還需要等待這些開源工具增強(qiáng)功能。同時,Git的接口待加強(qiáng),與眾多工具集成待完善,這些都是需要時間來解決。

目前很多人倡導(dǎo)的Git的優(yōu)點并非不可替代

Git速度快,但是SVN使用用廉價的高性能主機(jī)同樣可以提升速度;Git無需網(wǎng)路也可以工作,但當(dāng)前穩(wěn)固的網(wǎng)絡(luò)基礎(chǔ)環(huán)境和多樣的接入方式,讓SVN并不擔(dān)心網(wǎng)絡(luò)問題。另外Git方便地處理分支的特性,如果通過控制開發(fā)節(jié)奏,增加評審,減少分支數(shù)量,就可以讓分支合并更簡單快鍵,開發(fā)會更有效率,SVN也可以更好地管理分支。 SVN的1.7版本以不兼容舊版客戶端的代價新增和改進(jìn)了很多功能,開始向Git靠攏,這也使SVN具備Git的特性。

鑒于以上分享的幾個基本點,建議企業(yè)謹(jǐn)慎遷移。

筆者對某些場景的命令進(jìn)行了比較,下表是在Git-1.7 和SVN-1.6上測試的,目的是為了說明SVN的操作經(jīng)驗在Git上不能直接套用,當(dāng)然Git也有許多獨特的優(yōu)秀功能。

作者簡介:

李新,新浪產(chǎn)品部高級配置管理工程師,有豐富的軟件流程方面的經(jīng)驗。

 

責(zé)任編輯:黃丹 來源: infoq
相關(guān)推薦

2015-10-19 16:51:01

2017-08-08 09:08:03

企業(yè)對象存儲

2012-12-24 09:48:28

大數(shù)據(jù)技術(shù)HadoopIT

2011-05-25 10:15:47

開源

2012-11-26 10:06:16

KVM服務(wù)器虛擬化

2012-12-03 11:15:36

開源KVMLinux

2011-07-05 10:01:08

云計算公共云數(shù)據(jù)

2012-11-15 09:43:04

BYODWLANWi-Fi

2019-05-20 10:28:29

IIoT邊緣計算物聯(lián)網(wǎng)設(shè)備

2010-08-25 15:49:04

面試

2014-06-04 12:50:43

轉(zhuǎn)型IT轉(zhuǎn)型

2016-05-31 16:50:33

2014-04-14 15:43:24

企業(yè)移動應(yīng)用開發(fā)

2011-05-25 17:08:29

ibmdwLinux

2015-10-15 17:11:47

賽思股份

2010-03-08 09:24:57

Ubuntu企業(yè)服務(wù)器

2018-11-07 10:24:25

AI硬件企業(yè)

2013-01-28 16:51:45

2015-01-07 10:45:05

Dockerkubernetescontain

2018-10-11 17:43:15

人臉識別人工智能AI
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 91av导航| 成人免费大片黄在线播放 | 亚洲国产自产 | 精品毛片| 中文字幕第一页在线 | 免费久草| 毛片免费观看 | 91一区二区在线观看 | 日韩毛片播放 | 成人国内精品久久久久一区 | 国产一区日韩在线 | 国产区视频在线观看 | 久久精品毛片 | 亚洲精品粉嫩美女一区 | 欧美成人一区二区 | 欧美国产日韩在线 | 亚洲国产成人在线视频 | 日韩精品区 | 在线精品国产 | 国产亚洲二区 | 丝袜美腿一区二区三区 | 亚洲欧美一区二区三区国产精品 | 午夜寂寞影院在线观看 | 中文字幕亚洲一区二区va在线 | 91国在线高清视频 | 91视频在线| 国产一区二区三区在线 | 亚洲一区二区三区欧美 | 毛片免费视频 | 国产一区二区三区色淫影院 | 中文字幕亚洲一区二区三区 | 久久精品国产精品青草 | 午夜视频免费网站 | 欧美在线一区二区视频 | 狠狠操av | 国产成人综合在线 | 亚洲精品无 | 欧美精品一区在线 | 日本小视频网站 | 极品销魂美女一区二区 | www久久av|