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