自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SVN基本操作之新手上路

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

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

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

【編輯推薦】

  1. 七步輕松實現搭建SVN服務端
  2. 詳解SVN提交更新七大準則
  3. Windows 7中本地SVN搭建問題詳解
  4. 專家在線指導如何搭建SVN服務
  5. 常用SVN目錄結構使用的兩大方法詳解

 

責任編輯:佚名
相關推薦

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-23 11:41:13

路由器IOS

2018-10-22 17:57:28

汽車互聯(lián)

2010-08-10 13:52:31

路由器IOS簡介

2011-06-16 21:39:07

投影機技巧

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)資源服務器命令前端

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權限控制
點贊
收藏

51CTO技術棧公眾號