久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

軟件的版本控制

 逍遙302 2017-05-28

1 沒有版本控制時的問題

如果我們沒有對編寫的代碼進(jìn)行版本控制,那么會出現(xiàn)以下幾個問題:

  • 需要手動備份不同版本的代碼,,浪費(fèi)時間和空間,。

  • 難以恢復(fù)至以前的正確版本。例如:我上周寫的代碼是對的,,這周改出問題了,,但是沒有對上周寫的進(jìn)行備份,如果想恢復(fù)到上周寫的樣子,,那就得重新寫一遍,。

  • 代碼整合過程需要人工拷貝,再復(fù)制和粘貼,,極其繁瑣,。

  • 修復(fù)Bug困難。例如:現(xiàn)在需要整合代碼,,大家都紛紛開始復(fù)制和粘貼代碼,,所有人都把自己寫的代碼放在前面,別人寫的代碼放在后面,。如果合并的代碼出現(xiàn)了沖突,,有人說第100行代碼有運(yùn)行時錯誤需要修改,那么問題來了,,每個人的第100行代碼都不同,,修改代碼的過程變得困難。

  • 難以追溯問題代碼的修改人和修改時間,,如果不寫注釋的話,。

  • 代碼管理混亂,項目版本發(fā)布困難,。要想開發(fā)一個產(chǎn)品,,如果每個人手上的代碼都不一樣,那么就需要花費(fèi)時間來討論一個問題:到底用誰的代碼去發(fā)布成產(chǎn)品,。

2 版本控制工具

目前主要有三種版本控制工具,,分別是CVS、SVN和Git,。因為CVS已經(jīng)過時,所以在這里只介紹SVN和Git,。

2.1 SVN

SVN(Subversion)是一個集中式的版本控制工具,。

開發(fā)人員使用SVN工作時的流程圖:

01-SVN工作流程圖.png

SVN的特點(diǎn):使用統(tǒng)一的中央倉庫對文件進(jìn)行集中式的管理,。

SVN的優(yōu)點(diǎn):

  • 操作簡單,學(xué)習(xí)成本低,。

  • 能對文件進(jìn)行權(quán)限控制,。

SVN的缺點(diǎn):在沒有網(wǎng)絡(luò)的情況下就不能對文件進(jìn)行版本控制操作。

SVN的適用場景:有權(quán)限控制的代碼開發(fā)(即不是每個人都可以看到項目中的所有代碼)和軟件文檔的管理,。

2.2 Git

Git是一個分布式的版本控制工具,。

開發(fā)人員使用Git工作時的流程圖:

02-Git工作流程圖.png

Git的特點(diǎn):既能集中式又能分布式地管理文件。Git的集中式管理模式和SVN的一樣,,它的分布式管理模式是每個開發(fā)人員都要自己維護(hù)一個與中央倉庫關(guān)聯(lián)的本地倉庫,。

Git的優(yōu)點(diǎn):

  • 分布式管理,數(shù)據(jù)不易丟失,。因為每個客戶端上都持有一個與中央倉庫一樣的本地倉庫,,所以當(dāng)中央倉庫的數(shù)據(jù)丟失時,可以從任意一個客戶端上獲取數(shù)據(jù)進(jìn)行恢復(fù),。

  • 支持離線版本控制,。在沒有網(wǎng)絡(luò)的時候,開發(fā)人員可以使用本地倉庫進(jìn)行版本控制操作,,待有網(wǎng)后,,再將改變的內(nèi)容推送到中央服務(wù)器。

  • 支持現(xiàn)場版本控制,。例如:產(chǎn)品部署在客戶那邊,,出了Bug,需要去現(xiàn)場進(jìn)行修復(fù),。如果我們使用的是SVN,,我們需要將修改完的代碼拷貝回來,然后復(fù)制粘貼進(jìn)工程,,最后再與SVN進(jìn)行同步,。反之,如果我們使用的是Git,,我們只需要在工程的目錄下初始化Git,,然后修正Bug,最后再打個補(bǔ)丁把補(bǔ)丁帶回去就行了,。

  • 服務(wù)器壓力小,。因為使用SVN的開發(fā)人員會一直連著服務(wù)器進(jìn)行操作,但是使用Git的開發(fā)人員可能是一周甚至一個月才與服務(wù)器進(jìn)行交互,,所以SVN服務(wù)器承受的訪問量與數(shù)據(jù)量要比Git服務(wù)器大很多,。

  • 支持補(bǔ)丁技術(shù)。任意兩個開發(fā)人員可以通過補(bǔ)丁來整合代碼,,整合過程不通過中央服務(wù)器,。

  • Git的響應(yīng)速度比SVN快,。

Git的缺點(diǎn):

  • 學(xué)習(xí)成本高。因為需要學(xué)習(xí)很多的操作指令,。

  • 不能對文件進(jìn)行權(quán)限控制,。因為Git使用分布式管理,所以每個客戶端就會持有與中央服務(wù)器一樣的倉庫,,擁有了一樣的倉庫就擁有了中央倉庫上所有的代碼,。

Git的適用場景:無權(quán)限控制的代碼開發(fā)。



本文轉(zhuǎn)自:簡書

微信號:IdeaofSE


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多