偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

SVN基本操作之新手上路

開發(fā) 項(xiàng)目管理
本文和大家一起學(xué)習(xí)一下SVN基本操作,主要介紹一下SVN是什么,SVN版本的概念和他的一些基本操作,在這里和大家分享一下,歡迎大家一起來學(xué)習(xí)。

本節(jié)向大家描述SVN基本操作問題,在學(xué)習(xí)SVN的過程中,經(jīng)常會遇到SVN的一些基本操作,本節(jié)就向大家簡單介紹一下,希望通過本節(jié)的 學(xué)習(xí),大家對SVN基本操作有清楚的認(rèn)識。首先介紹一下什么是SVN。

SVN是什么
Svn是一個離線的代碼管理,可以多個人一起修改,然后再將修改的內(nèi)容提交到Svn中。
每一個svn服務(wù)器中的數(shù)據(jù)存儲單位叫做存儲,但是你不僅僅可以把整個存儲當(dāng)作你維護(hù)的內(nèi)容,也可以將其中的某個分支目錄像根存儲一樣的使用。
Svn是嚴(yán)格區(qū)分大小寫的,存儲中路徑的名字只有大小寫不同,也會當(dāng)作不同的路徑處理。注意這里會在windows平臺下導(dǎo)致一些非常嚴(yán)重的問題。在windows下如果svn服務(wù)器上同一文件夾有兩個只有大小寫不同的文件時會出現(xiàn)則會出現(xiàn)總是提示某個文件丟失,而更新到哪個文件也是未知的。如果同一文件夾有只有大小寫不同的文件夾會導(dǎo)致總是無法將一個文件夾同步下來。最嚴(yán)重的要數(shù)如果存儲名稱錯誤,則你沒有辦法提交數(shù)據(jù),因?yàn)閹粽J(rèn)證是基于存儲的。
SVN的版本概念
先說明一下幾個版本概念。
一個是服務(wù)器版本,每一次提交svn都會將版本號加1,無論你是修改了文件,還是添加刪除了,甚至修改一下文件夾的svn屬性,只要你提交都會更新版本;
第二個是本地基礎(chǔ)版本,也就是你上次進(jìn)行update之后的和svn服務(wù)器上的版本,比如你update時服務(wù)器上是reverion11你的本地基礎(chǔ)版本就是reverion11,無論別人改了什么,服務(wù)器上更新了多少版,只要你不執(zhí)行update則你的基礎(chǔ)版本永遠(yuǎn)是reverion11;
第三個是工作版本,就是你當(dāng)前改著的版本,工作版本是基于基礎(chǔ)版本的,如果沒改,工作版本就和基礎(chǔ)版本一致,如果你改了,你的工作版本就是從基礎(chǔ)版本修改過來的。
SVN基本操作
總是有人問已經(jīng)在本地刪除了某個文件,可是一更新又從svn還原出來了,或者我已經(jīng)把一個文件移動到另外的地方,可是怎么修改svn讓他同步等等。在受svn管理的文件中,所有的文件操作不能想當(dāng)然的進(jìn)行,添加刪除和移動改名都是有對應(yīng)的svn操作的,這樣才能自動的反映到svn上來,尤其是移動文件這樣的操作,如果操作不慎,就會無法將文件的修改歷史聯(lián)系起來。不過,svn的操作有一些是需要連接服務(wù)器的“連線操作”有一些是之進(jìn)行本地操作的“離線操作”。所以下面介紹一些svn使用的基本操作。
SVN基本操作之svncheckout
作為svn的用戶,拿到一個svn地址,我們首先做的一個事情就是svncheckout,將svn上的關(guān)聯(lián)到本地的一個文件夾中。這個文件夾最好是空的文件夾,或者確保沒有和svn上相同名稱的路徑,當(dāng)然這也說明這個操作是個連線操作。我們一般在執(zhí)行checkout的時候只要給出svn的URL和本地的路徑兩個內(nèi)容就可以了。這樣svn上最新的數(shù)據(jù)會被傳送到這個文件夾,目錄結(jié)構(gòu)會自動建好,svn上的文件會自動出現(xiàn)在對應(yīng)的文件夾中。當(dāng)然如果你愿意也可以選擇一個舊的版本,或者只包含一層目錄或者只是這個文件夾中的文件?;蛟S你發(fā)現(xiàn)了,每一個文件夾中比服務(wù)器上的內(nèi)容多了個.svn文件夾,這個文件夾中存放著文件夾的屬性,這個文件夾中的每個文件的屬性、版本還有對應(yīng)版本的一個副本。
SVN基本操作之svnupdate
這個操作就是將本地的的數(shù)據(jù)更新到svn上的某個版本,默認(rèn)的操作是更新到最新版本,這個操作也是個連線操作。在這個過程中如果有人刪除了文件,它會你機(jī)器上的文件刪除,如果別人改了某個文件,會將這個文件更新。如果你修改了某個文件,別人刪除了它,則這個文件不會被刪除,只會和svn沒關(guān)系了。如果你修改了某個文件,而這個文件別人也修改了,在更新的過程中就會試圖自動將你的修改合并,如果成功,他的內(nèi)容就是你修改的和別人修改的內(nèi)容的并集,如果失敗,svn就會將這個文件標(biāo)記為沖突。沖突的問題我們放在下個說。
SVN基本操作之svnresolve
使用svn意味著你已經(jīng)走在了工作在編輯和合并的道路上,那么沖突的時候svn做了什么,出現(xiàn)了沖突怎么解決?
在標(biāo)記為沖突的過程中,如果是文本文件,如cpp和h文件,svn會修改它讓他不能進(jìn)行編譯,并產(chǎn)生一個theirs和mime,分別包含svn服務(wù)器上的和我自己原來的版本。
如果是二進(jìn)制文件,svn不會修改它,而會在目錄中產(chǎn)生一個r??和r??這兩個r??一個是你update之前的svn基礎(chǔ)版本,就是你上次執(zhí)行update的版本,一個是svn上的當(dāng)前update下來的版本。
你可以選擇直接使用theirs或者使用mime或者退回到上一個update版本,或者將兩個文件放在一起手工合并作為解決的方法。
這個操作是離線操作。
SVN基本操作之svncommit
svn的commit操作就是將修改從工作拷貝發(fā)送到版本庫并將版本標(biāo)記為新的版本,這個過程中如果有人已經(jīng)對這個版本進(jìn)行了操作,也就是你的本地基礎(chǔ)版本和服務(wù)器不同,將會強(qiáng)制你執(zhí)行一個update操作,這個操作是個連線操作。commit的過程僅僅是將你本地的一些修改提交到svn中讓svn上的和你的一致,在提交之前必須已經(jīng)解決了需要提交文件已有的沖突才行。
SVN基本操作之svnadd
如果一個文件不受svn管理,你需要把它添加到svn中,這個操作是個離線操作,僅僅是把這個文件標(biāo)記為需要添加,真正的添加到svn存儲的操作將在下一次commit時執(zhí)行。這個過程中需要注意不要把一些不必要的文件比如編譯的臨時文件添加到svn。
SVN基本操作之svnimport
當(dāng)然你可以將一些文件直接添加到svn而不想修改這些文件的svn管理狀態(tài),可以選擇將它們導(dǎo)入到svn。注意如果將一個文件導(dǎo)入,則給出的url就是它添加到svn的最終文件名,如果將一個文件夾導(dǎo)入,則會將根據(jù)目錄樹所有的子文件和文件夾放到對應(yīng)的url的對應(yīng)目錄樹中,根文件夾不會被添加。
這個操作是連線操作。
SVN基本操作之svncleanup
這個操作清理整個所選擇的文件夾及其子文件夾,但是它不是清理垃圾文件什么的,這肯定不是svn的工作。它也不會把沖突自動解決,如果能自動解決,在更新的時候?yàn)槭裁床蛔?。如果你在某個svn操作時強(qiáng)制中斷了,比如svn的操作程序停止相應(yīng)或者以外終止,就有可能導(dǎo)致文件夾處于鎖定狀態(tài),這時需要清理。如果你的文件夾中的很多文件時間戳發(fā)生了變化,也最好執(zhí)行以下cleanup這樣可以加速svn操作的執(zhí)行。
這個操作是離線操作。
SVN基本操作之svndelete
既然有方法添加文件,就一定有方法刪除,雖然你看到的效果是文件直接被刪除了,但是實(shí)際上和添加一樣,這個操作是個離線操作,操作的結(jié)果將被標(biāo)記,下次commit時服務(wù)器上的文件才會被刪除。
SVN基本操作之svnrevert
如果你的修改出現(xiàn)了問題,或者添加或者刪除了錯誤的文件,等等想還原操作,在commit之前可以執(zhí)行revert操作,退回某步操作,這樣這些修改都會被還原到基礎(chǔ)版本狀態(tài)。這個操作不會和svn服務(wù)器有關(guān)系,不會連接服務(wù)器也不會更新文件,只是簡簡單單的回復(fù)到基礎(chǔ)版本。
這個操作是個離線操作。
SVN基本操作之svndiff
這個操作就是比較你的工作版本和某個svn版本的區(qū)別,當(dāng)然默認(rèn)是你的基礎(chǔ)版本,因?yàn)槟愕墓ぷ靼姹揪褪菑幕A(chǔ)版本修改過來的么。在和基礎(chǔ)版本比較時是個離線操作,和歷史版本比較時是連線操作。
SVN基本操作之svnexport
這個操作可以將一個已經(jīng)在svn管理下的文件夾中的所有工作版本導(dǎo)出到一個文件夾中,或者直接從svn服務(wù)器上將一個版本導(dǎo)出到一個文件夾中。導(dǎo)出的文件夾不再在svn的管理控制下,也不會有.svn目錄,當(dāng)然也不會包含不在svn管理下的文件。在導(dǎo)出工作版本時是個離線操作,從svn直接導(dǎo)出時是連線操作。
SVN基本操作之svncopy
操作的名字顯而易見,就是復(fù)制操作,在svn上復(fù)制文件有什么好處呢,為什么不直接復(fù)制文件再添加到svn呢。這個問題我也考慮過,svncopy可以將文件在復(fù)制之前的歷史保留下來,這應(yīng)該是最大的好處了。這個操作是離線操作,需要提交才起效。
SVN基本操作之svnmove
和copy一樣,歷史的留存也是和復(fù)制后刪除源文件這個方式最大的區(qū)別,并且它也是離線操作,需要提交才起效。
SVN基本操作之svnlock
如果你想獨(dú)占修改這個文件,可以把文件鎖定,這樣就可以鎖定這個文件,這樣別人必須等待你提交了修改或者釋放了鎖才能提交他們的修改。這個操作不會對別人的svn本地存儲有什么影響,而只是無法進(jìn)行數(shù)據(jù)提交。如果某個文件有svn:needs-lock這樣的標(biāo)志時,文件會被設(shè)置為只讀,提示你需要獲得鎖來修改。當(dāng)然你也可以把文件的屬性修改直接修改,這個只是防君子不防小人的。
這個操作時連線操作。
SVN基本操作之svnunlock
雖然是unlock但是實(shí)際上這個我們平常不會將他用來和lock配對,因?yàn)閏ommit操作時,svn默認(rèn)自動將鎖釋放了。這個操作的用處是在你得到鎖了之后,又不想鎖定這個文件時執(zhí)行的。還有就是如果別人鎖定了這個文件,想強(qiáng)制把這個文件解鎖,就可以強(qiáng)制將這個文件解鎖。這個操作時連線操作。
 

【編輯推薦】

  1. 七步輕松實(shí)現(xiàn)搭建SVN服務(wù)端
  2. 詳解SVN提交更新七大準(zhǔn)則
  3. Windows 7中本地SVN搭建問題詳解
  4. 專家在線指導(dǎo)如何搭建SVN服務(wù)
  5. 常用SVN目錄結(jié)構(gòu)使用的兩大方法詳解

 

責(zé)任編輯:佚名
相關(guān)推薦

2010-06-25 15:41:49

IPX SPX協(xié)議

2010-05-26 13:32:16

SVN簡易使用手冊

2010-07-26 11:19:19

Perl入門手冊

2010-07-29 17:11:03

Flex

2010-08-16 15:04:00

DIV入門

2009-10-22 09:59:50

CLR程序集教程

2010-05-17 17:54:44

Subversion1

2010-05-17 18:18:23

Subversion1

2010-08-10 13:52:31

路由器IOS簡介

2010-08-23 11:41:13

路由器IOS

2018-10-22 17:57:28

汽車互聯(lián)

2011-06-16 21:39:07

投影機(jī)技巧

2010-08-16 09:19:04

DIVCSS

2010-05-18 14:06:22

SubVersion和

2010-06-01 17:45:45

SVN 基本操作

2019-03-15 09:34:18

靜態(tài)資源服務(wù)器命令前端

2010-05-28 18:22:51

MySQL基本操作

2011-07-21 15:28:30

java

2010-05-27 10:42:38

SVN配置文檔

2010-06-02 09:58:53

SVN權(quán)限控制
點(diǎn)贊
收藏

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