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

SVN簡易使用手冊實例詳解

開發(fā) 項目管理
本文介紹上篇文章介紹SV的使用問題,主要包括使用Subversion管理本地project和使用svn獲取開源項目源代碼等內(nèi)容。

本節(jié)接著上節(jié)介紹SVN簡易使用手冊,上節(jié)我們講到了使用Subversion管理本地project中如何將本地工程hello導(dǎo)入本地的Subversion的工程倉庫問題,本節(jié)繼續(xù)介紹,另外介紹一下使用svn獲取開源項目源代碼問題,希望你能感興趣,讓我們一起來學(xué)習(xí)SVN簡易使用手冊
(4)工程開發(fā)過程中的版本管理與控制
SVN簡易使用手冊介紹使用subversion對工程進行版本管理的一般流程如下:
a)建立工程的數(shù)據(jù)倉庫,并導(dǎo)入工程的最初版本(前面已經(jīng)完成);
b)從倉庫獲取一個“工作副本”(svncheckout,可以獲取***版本也可以獲取以前的某個版本),在這個“工作副本”中進行工程開發(fā),修改完畢將變動提交到倉庫。下面簡單介紹b)步驟。
由于工程hello已經(jīng)導(dǎo)入到倉庫,因此原目錄可以刪除。我們刪除原目錄,并從倉庫獲取工程hello的一個“工作副本”(workingcopy);當然,如果你當心這樣做會造成數(shù)據(jù)丟失,完全可以重新建立一個目錄,將“工作副本”保存到那里。
[aaronwong@localhostprojects]$rm-rfhello/
[aaronwong@localhostprojects]$svncheckoutfile:///home/aaronwong/.subversion/repos/hello/trunkhello
Ahello/hello.c取出版本1。//注意,我們用紅色標出了"trunk",如果不指定這一目錄,則會取出除工程源文件外的其他不必要的目錄如branches和tags。
[aaronwong@localhostprojects]$ls-ahello/...hello.c.svn
//可以看到“工作副本”下有一個.svn隱藏目錄,其中就包含了subversion用用來進行版本管理的信息。下面可以對工程hello的內(nèi)容進行編輯和修改。注意,如果要在工程中增加或刪除某一文件或目錄(包括復(fù)制和移動),必須使用svnadd/delete/mkdir/copy/move等相關(guān)命令進行標記。
 

  1. [aaronwong@localhosthello]$pwd  
  2. /home/aaronwong/projects/hello  
  3. [aaronwong@localhosthello]$vimhello.c  
  4. [aaronwong@localhosthello]$cathello.c  
  5. //Thisisthesecondversion.  
  6. #include<stdio.h> 
  7. intmain()  
  8. {printf("Helloworld!\n");  
  9. return;}  
  10. [aaronwong@localhosthello]$mkdirdoc  
  11. [aaronwong@localhosthello]$vimdoc/readme.txt  
  12. [aaronwong@localhosthello]$svnadddoc  
  13. Adoc  
  14. Adoc/readme.txt//說明:如果svnadd的對象是一個目錄,則該目錄及其子目錄和其下的文件都會被添加到工程。對工程編輯完畢,你可以檢查一下該次編輯對工程(實際上是對你的"工作副本")做了哪些改動。  
  15. [aaronwong@localhosthello]$svnstatus  
  16. Mhello.c  
  17. Adoc  
  18. Adoc/readme.txt  
  19. [aaronwong@localhosthello]$svndiff  
  20. Index:hello.c 
  21. ===================================================================  
  22. ---hello.c(版本1)  
  23. +++hello.c(工作副本)  
  24. @@-1,10+1,10@@  
  25. -//Thisisaoriginalversion.  
  26. +//Thisisthesecondversion.  
  27. #include<stdio.h> 
  28. intmain()  
  29. {printf("Helloworld!\n");-  
  30. +return;}  
  31. Index:doc/readme.txt 
  32. ===================================================================  
  33. ---doc/readme.txt(版本0)  
  34. +++doc/readme.txt(版本0)  
  35. @@-0,0+1,2@@  
  36. +Thisisanexampleforsubversiontutorial.  

//可以看到,svndiff提供了更詳細的改動信息,并且很容易的將該命令的輸出重定向為一個patch補丁。檢查確認無誤后,便可提交此次更改,同時要附加此次更改的說明注釋信息。
[aaronwong@localhosthello]$svncommit-m"documentsadded."
新增doc
新增doc/readme.txt
正在發(fā)送hello.c
傳輸文件數(shù)據(jù)..
提交后的版本為2。
現(xiàn)在工程倉庫中已經(jīng)保存了上面所提交的版本2的工程的所有信息,因此,上面的“工作副本”也可以被刪除:當然,如果下次你還要繼續(xù)使用這個“工作副本”進行工作,則可以保留這個副本,不過需要注意的是,如果你是在一個開發(fā)團隊中,開發(fā)團隊的任一成員都可能在你不知情的情況下更新了工程版本,因此,在團隊開發(fā)中,進入已有的“工作副本”進行編輯前,應(yīng)該先使用"svnupdate"命令將當前“工作副本”更新到倉庫中的***版本。
3.使用svn獲取開源項目源代碼
SVN簡易使用手冊介紹一下使用svn獲取開源項目源代碼。這實際上是獲取一個“工作副本”的過程。例如我需要下載ffmpeg的***源代碼,就可以使用svncheckout命令來完成:
[aaronwong@localhost~]$svncheckoutsvn://svn.mplayerhq.hu/ffmpeg/trunkffmpeg
Affmpeg/configure
Affmpeg/Doxyfile
Affmpeg/ffmpeg.c
Affmpeg/vhook
Affmpeg/vhook/imlib2.c
Affmpeg/vhook/drawtext.c
Affmpeg/vhook/fish.c
Affmpeg/vhook/null.c......
Subversion有許多特性、選項和華而不實的高級功能,但日常的工作中你只使用其中的一小部分,有一些只在特殊情況才會使用,在這一節(jié)里,我們會介紹許多你在日常工作中常見的命令。
典型的工作周期是這樣的:
更新你的工作拷貝
svnupdate
做出修改
svnadd
svndelete
svncopy
svnmove
檢驗修改
svnstatus
svndiff
svnrevert
合并別人的修改到工作拷貝
svnupdate
svnresolved
提交你的修改
svncommit
更新你的工作拷貝
SVN簡易使用手冊介紹如何更新你的工作拷貝。當你在一個團隊的項目里工作時,你希望更新你的工作拷貝得到所有其他人這段時間作出的修改,使用svnupdate讓你的工作拷貝與***的版本同步。
$svnupdateUfoo.cUbar.cUpdatedtorevision2.
這種情況下,其他人在你上次更新之后提交了對foo.c和bar.c的修改,因此Subversion更新你的工作拷貝來引入這些更改。
讓我們認真檢查svnupdate的輸出,當服務(wù)器發(fā)送修改到你的工作拷貝,一個字母顯示在每一個項目之前,來讓你知道Subversion對你的工作拷貝做了什么操作:
Ufoo文件foo更新了(從服務(wù)器收到修改)。
Afoo文件或目錄foo被添加到工作拷貝。
Dfoo文件或目錄foo在工作拷貝被刪除了。
Rfoo文件或目錄foo在工作拷貝已經(jīng)被替換了,這是說,foo被刪除,而一個新的同樣名字的項目添加進來,它們具有同樣的名字,但是版本庫會把它們看作具備不同歷史的不同對象。
Gfoo文件foo接收到版本庫的更改,你的本地版本也已經(jīng)修改,但改變沒有互相影響,Subversion成功的將版本庫和本地文件合并,沒有發(fā)生任何問題。
Cfoo文件foo的修改與服務(wù)器沖突,服務(wù)器的修改與你的修改交迭在一起,不要恐慌,這種沖突需要人(你)來解決,我們在后面的章節(jié)討論這種情況。請期待下節(jié)SVN簡易使用手冊介紹。

【編輯推薦】

  1. SVN使用手冊之入門篇
  2. SVN管理與應(yīng)用相關(guān)的資料參考手冊
  3. Windows操作系統(tǒng)中SVN使用手冊詳解
  4. Centos下SVN的安裝配置實用手冊
  5. SVN服務(wù)器安裝指導(dǎo)手冊
責任編輯:佚名
相關(guān)推薦

2010-05-27 13:08:46

SVN簡易使用手冊

2010-05-26 12:59:48

SVN簡易使用手冊

2010-05-27 13:35:43

SVN簡易使用手冊

2010-05-26 13:32:16

SVN簡易使用手冊

2010-05-26 14:01:47

SVN安裝使用手冊

2010-05-21 12:37:49

SVN使用教程

2010-05-26 12:35:11

2010-05-26 12:45:49

SVN使用手冊

2010-05-20 19:12:37

2010-05-26 13:51:40

SVN安裝使用手冊

2010-06-01 13:19:04

2010-06-13 17:07:10

Cacti使用手冊

2010-05-17 14:53:16

Subversion使

2009-10-26 11:11:33

linux Emacs

2010-06-01 13:28:54

SVN客戶端用戶使用手

2010-08-31 08:59:06

marginHTML

2009-12-02 18:03:00

PHP cURL

2011-08-09 13:22:31

iPhoneSqlite數(shù)據(jù)庫

2010-05-19 10:57:34

Subversion配

2013-10-31 14:55:22

點贊
收藏

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