摘要:既然是有服務(wù)器的,那么就需要聯(lián)網(wǎng)進(jìn)行操作了。這個下載下來的區(qū)域就是工作副本。這個工作副本其實(shí)就是我們工作的區(qū)域,我們對那些文件修改完,就能夠再次提交到配置庫中了。
什么是SVN
SVN全稱:Subversion,是一個開放源代碼的版本控制系統(tǒng)
Svn是一種集中式文件版本管理系統(tǒng)。集中式代碼管理的核心是服務(wù)器,所有開發(fā)者在開始新一天的工作之前必須從服務(wù)器獲取代碼,然后開發(fā),最后解決沖突,提交。
集中式文件版本控制器:將所有的文件都交由服務(wù)器來進(jìn)行統(tǒng)一的管理。既然是有服務(wù)器的,那么就需要聯(lián)網(wǎng)進(jìn)行操作了。
為什么要使用SVN我們寫一個項(xiàng)目一般都是一個團(tuán)隊(duì)來寫,如果我們沒有用SVN的話,那么我們只能在團(tuán)隊(duì)中互相拷貝對方的代碼來完成我們的項(xiàng)目。
SVN還有如下的好處:
輕松比較不同版本間的細(xì)微差別【修改了代碼,就有版本號,還能知道修改前后的數(shù)據(jù)】
及時了解團(tuán)隊(duì)中其他成員的進(jìn)度【如果沒有把代碼提交到服務(wù)器中,就是做得比較慢了】
廣域網(wǎng)共享【連上局域網(wǎng)就可以代碼共享了】
協(xié)同工作,大大提高團(tuán)隊(duì)工作效率
快速了解SVN 配置庫在SVN中有配置庫這么一個概念,那它是什么東東呢??
它儲存所有的數(shù)據(jù),配置庫按照文件樹形式儲存數(shù)據(jù)
包括目錄和文件
任意數(shù)量的客戶端可以連接到配置庫,讀寫這些文件.并且可以添加讀寫日志,有權(quán)限的用戶很方便的看到這些修改
工作副本我們從上面已經(jīng)知道了,我們可以從配置庫中得到想要的文件。那么我們要把文件從配置庫下載下來。這個下載下來的區(qū)域就是工作副本。
這個工作副本其實(shí)就是我們工作的區(qū)域,我們對那些文件修改完,就能夠再次提交到配置庫中了。
SVN命令我們簡單來學(xué)習(xí)幾條SVN的命令,SVN有圖形界面的功能,因此命令學(xué)習(xí)也不是必須的。了解一下....
---創(chuàng)建服務(wù)器端版本庫 svnadmin create 版本庫路徑 ---啟動SVN服務(wù)器端 svnserve -d -r 版本庫路徑 ---在系統(tǒng)服務(wù)中注冊svn服務(wù)器 sc create svn binPath= "C:Program FilesTortoiseSVNinsvnserve.exe --service -r D:itcastsvnserver20150118svn" DisplayName= "svn服務(wù)" ---刪除系統(tǒng)服務(wù)中的 服務(wù) sc delete 服務(wù)ID
如果啟動SVN服務(wù)器的時候,不會報錯就是正常開啟了。
分配權(quán)限在我們配置庫中找到conf文件夾下的svnserve.conf配置文件。將下面的三行的注釋去掉
分配用戶找到conf文件下的passwd,配置用戶
常見的子命令import:將未納入版本控制器的文件或目錄提交到版本庫中(僅執(zhí)行一次)
checkout: 從版本庫標(biāo)簽中出工作副本
revert: 將工作副本文件恢復(fù)到指定版本
update: 將版本庫的修改合并到工作副本中
commit:把工作副本的修改提交到版本庫。
使用SVN 添加數(shù)據(jù)到SVN創(chuàng)建配置庫,我們可以使用命令行方式,也可以使用UI點(diǎn)擊的方式。這里我就直接使用UI的方式了。
隨后,開啟我們的SVN服務(wù)
把一個文件夾放置到配置庫中,交由SVN管理
在SVN中查看我們添加的內(nèi)容:
查看具體的日志
標(biāo)識得非常清晰:
從SVN導(dǎo)出數(shù)據(jù)把SVN的數(shù)據(jù)導(dǎo)出到用戶中。
導(dǎo)出后:這個local文件夾其實(shí)就是我們的工作副本!
修改SVN導(dǎo)出后的數(shù)據(jù)、再添加回SVN我在工作副本中添加了一個文件
添加到SVN中:
隨后,變成了一個藍(lán)色的圖標(biāo)+號,我們提交。
解決沖突我們可能會出現(xiàn)這樣的一個問題:我們的SVN是一個團(tuán)隊(duì)正在開發(fā)。但是在commit之前,有人就把我正在編輯的文件給修改了。于是當(dāng)我在提交的時候就出現(xiàn)了沖突【當(dāng)前的數(shù)據(jù)不一致,沖突了】
localhost2用戶導(dǎo)出了SVN的數(shù)據(jù),并且修改了文件:
另一個用戶localhost也在修改該文件,但是它沒有做updata操作。并不知道該文件已經(jīng)被修改了。
當(dāng)他修改完,想要更新到SVN中的時候,發(fā)現(xiàn)沖突了。
面對沖突,我們有兩種方案:
放棄本次的修改
查看沖突的內(nèi)容是什么,當(dāng)查看完再決定要哪個的數(shù)據(jù),或者是合并起來。
我們進(jìn)去沖突修改的頁面,決定要的是哪一行的數(shù)據(jù)
最后修改完,點(diǎn)擊保存操作就行了。
關(guān)于沖突的建議
修改文件之前,先進(jìn)行一次update操作
修改完成后,及時commit,不要在本地停留過長時間
在多位團(tuán)隊(duì)成員協(xié)作時,盡量修改自己撰寫的部分,盡量不要修改不屬于自己撰寫的部分
出現(xiàn)沖突很正常,可以通過前面的方法解決,不要相互覆蓋
工作流程圖如果文章有錯的地方歡迎指正,大家互相交流。習(xí)慣在微信看技術(shù)文章,想要獲取更多的Java資源的同學(xué),可以關(guān)注微信公眾號:Java3y
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/68700.html
摘要:常見的就是,它是一個完整的目錄。的特點(diǎn)是簡單,使用一個中央版本庫。當(dāng)初公司的日均均超過,所以采用的是方案雙機(jī)熱備集群優(yōu)化架構(gòu)圖上是兩主兩從。 前言 五年前,我在CNBLOG寫的一篇文章,《php+mysql下,對網(wǎng)站架構(gòu)方面的一些認(rèn)識(以我維護(hù)的站點(diǎn)為例)》,當(dāng)然,整套架構(gòu)不是做的,而是配合當(dāng)初的運(yùn)維部門,共同完成。那個時候我從入行PHP兩年,對所謂的架構(gòu)也是懵懂。只覺得很深奧,很高大...
摘要:常見的就是,它是一個完整的目錄。的特點(diǎn)是簡單,使用一個中央版本庫。當(dāng)初公司的日均均超過,所以采用的是方案雙機(jī)熱備集群優(yōu)化架構(gòu)圖上是兩主兩從。 前言 五年前,我在CNBLOG寫的一篇文章,《php+mysql下,對網(wǎng)站架構(gòu)方面的一些認(rèn)識(以我維護(hù)的站點(diǎn)為例)》,當(dāng)然,整套架構(gòu)不是做的,而是配合當(dāng)初的運(yùn)維部門,共同完成。那個時候我從入行PHP兩年,對所謂的架構(gòu)也是懵懂。只覺得很深奧,很高大...
閱讀 1005·2023-04-26 02:21
閱讀 2822·2021-09-24 09:47
閱讀 1612·2019-08-30 15:55
閱讀 2169·2019-08-30 14:01
閱讀 2327·2019-08-29 14:01
閱讀 2052·2019-08-29 12:46
閱讀 819·2019-08-26 13:27
閱讀 1940·2019-08-26 12:23