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

學(xué)習(xí)筆記 SVN簡(jiǎn)易使用手冊(cè)詳解

開發(fā) 項(xiàng)目管理
本文向大家介紹一下SVN簡(jiǎn)易使用手冊(cè),SVN現(xiàn)在用處越來越廣,所以大家有必要知道SVN是什么以及如何使用,本文就給大家講解一下。

本節(jié)接著上節(jié)簡(jiǎn)單介紹一下SVN簡(jiǎn)易使用手冊(cè),在學(xué)習(xí)SVN的過程中這些是必須掌握的內(nèi)容,在這里和大家分享一下,希望通過本節(jié)的學(xué)習(xí)大家能夠掌握SVN的使用,讓我們一起來學(xué)習(xí)SVN簡(jiǎn)易使用手冊(cè)吧。

另一種檢查修改的方式是svndiff命令,你可以通過不帶參數(shù)的svndiff精確的找出你所做的修改,這會(huì)輸出統(tǒng)一區(qū)別格式:[3]
$svndiffIndex:bar.c===================================================================---bar.c(revision3)+++bar.c(workingcopy)@@-1,7+1,12@@+#include<sys/types.h>+#include<sys/stat.h>+#include<unistd.h>++#include<stdio.h>intmain(void){-printf("Sixty-fourslicesofAmericanCheese...\n");+printf("Sixty-fiveslicesofAmericanCheese...\n");return0;}Index:README===================================================================---README(revision3)+++README(workingcopy)@@-193,3+193,4@@+Notetoself:pickuplaundry.Index:stuff/fish.c===================================================================---stuff/fish.c(revision1)+++stuff/fish.c(workingcopy)-Welcometothefileknownas'fish'.-Informationonfishwillbeheresoon.Index:stuff/things/bloo.h===================================================================---stuff/things/bloo.h(revision8)+++stuff/things/bloo.h(workingcopy)+Hereisanewfiletodescribe+thingsaboutbloo.
svndiff命令通過比較你的文件和.svn的“原始”文件來輸出信息,預(yù)定要增加的文件會(huì)顯示所有增加的文本,要?jiǎng)h除的文件會(huì)顯示所有要?jiǎng)h除的文本。
輸出的格式為統(tǒng)一區(qū)別格式(unifieddiffformat),刪除的行前面加一個(gè)-,添加的行前面有一個(gè)+,svndiff命令也打印文件名和打補(bǔ)丁需要的信息,所以你可以通過重定向一個(gè)區(qū)別文件來生成“補(bǔ)丁”:$svndiff>patchfile
 

舉個(gè)例子,你可以把補(bǔ)丁文件發(fā)送郵件到其他開發(fā)者,在提交之前審核和測(cè)試。svnrevert假設(shè)你通過上面的diff輸出發(fā)現(xiàn)你不小心用編輯器在README中輸入了一些字符。
這是使用svnrevert的好機(jī)會(huì)。
$svnrevertREADMEReverted'README'
Subversion把文件恢復(fù)到未修改的狀態(tài),叫做.svn目錄的“原始”拷貝,應(yīng)該知道svnrevert可以恢復(fù)任何預(yù)定要做的操作,舉個(gè)例子,你不再想添加一個(gè)文件:
$svnstatusfoo?foo$svnaddfooAfoo$svnrevertfooReverted'foo'$svnstatusfoo?foo
注意:
SVN簡(jiǎn)易使用手冊(cè)中有些需要注意的問題。svnrevertITEM的效果與刪除ITEM然后執(zhí)行svnupdate-rBASEITEM完全一樣,但是,如果你使用svnrevert它不必通知版本庫(kù)就可以恢復(fù)文件。
或許你不小心刪除了一個(gè)文件:$svnstatusREADMEREADME$svndeleteREADMEDREADME$svnrevertREADMEReverted'README'$svnstatusREADMEREADME
看!沒有網(wǎng)絡(luò)!
這三個(gè)命令(svnstatus、svndiff和svnrevert)都可以在沒有網(wǎng)絡(luò)的情況下工作,這讓你在沒有網(wǎng)絡(luò)連接時(shí)的管理修改過程更加簡(jiǎn)單,像在飛機(jī)上旅行,乘坐火車往返或是在海灘上奮力工作時(shí)。
Subversion通過在.svn管理區(qū)域使用原始的版本緩存來做到這一點(diǎn),這使得恢復(fù)本地版本而不必訪問網(wǎng)絡(luò),這個(gè)緩存(叫做“text-base”)也允許Subversion可以根據(jù)原始版本生成一個(gè)壓縮的增量(“區(qū)別”)提交—即使你有個(gè)非常快的網(wǎng)絡(luò),有這樣一個(gè)緩存有極大的好處,非常的快,只向服務(wù)器提交修改的部分,這一點(diǎn)乍一看好像并不重要,但當(dāng)你要提交一個(gè)400M大小的文件的修改時(shí),你就會(huì)明白!
解決沖突(合并別人的修改)
我們學(xué)習(xí)SVN簡(jiǎn)易使用手冊(cè)時(shí)可以使用svnstatus-u來預(yù)測(cè)沖突,當(dāng)你運(yùn)行svnupdate一些有趣的事情發(fā)生了:
$svnupdateUINSTALLGREADMECbar.cUpdatedtorevision46.
U和G沒必要關(guān)心,文件干凈的接受了版本庫(kù)的變化,文件標(biāo)示為U表明本地沒有修改,文件已經(jīng)根據(jù)版本庫(kù)更新。G標(biāo)示合并,標(biāo)示本地已經(jīng)修改過,與版本庫(kù)沒有重迭的地方,已經(jīng)合并。但是C表示沖突,說明服務(wù)器上的改動(dòng)同你的改動(dòng)沖突了,你需要自己手工去解決。
當(dāng)沖突發(fā)生了,有三件事可以幫助你注意到這種情況和解決問題:
Subversion打印C標(biāo)記,并且標(biāo)記這個(gè)文件已沖突。
如果Subversion認(rèn)為這個(gè)文件是可合并的,它會(huì)置入沖突標(biāo)記—特殊的橫線分開沖突的“兩面”—在文件里可視化的描述重疊的部分(Subversion使用svn:mime-type屬性來決定一個(gè)文件是否可以使用上下文的,以行為基礎(chǔ)合并,更多信息可以看“svn:mime-type”一節(jié))。
對(duì)于每一個(gè)沖突的文件,Subversion放置三個(gè)額外的未版本化文件到你的工作拷貝:filename.mine
你更新前的文件,沒有沖突標(biāo)志,只是你最新更改的內(nèi)容。(如果Subversion認(rèn)為這個(gè)文件不可以合并,.mine文件不會(huì)創(chuàng)建,因?yàn)樗凸ぷ魑募嗤?。?br /> filename.rOLDREV
這是你的做更新操作以前的BASE版本文件,就是你在上次更新之后未作更改的版本。
filename.rNEWREV
這是你的Subversion客戶端從服務(wù)器剛剛收到的版本,這個(gè)文件對(duì)應(yīng)版本庫(kù)的HEAD版本。
這里OLDREV是你的.svn目錄中的修訂版本號(hào),NEWREV是版本庫(kù)中HEAD的版本號(hào)。
 

舉一個(gè)例子,Sally修改了sandwich.txt,Harry剛剛改變了他的本地拷貝中的這個(gè)文件并且提交到服務(wù)器,Sally在提交之前更新它的工作拷貝得到了沖突:
$svnupdateCsandwich.txtUpdatedtorevision2.$ls-1sandwich.txtsandwich.txt.minesandwich.txt.r1sandwich.txt.r2
在這種情況下,Subversion不會(huì)允許你提交sandwich.txt,直到你的三個(gè)臨時(shí)文件被刪掉。
$svncommit--message"Addafewmorethings"svn:Commitfailed(detailsfollow):svn:Abortingcommit:'/home/sally/svn-work/sandwich.txt'remainsinconflict
如果你遇到?jīng)_突,三件事你可以選擇:
“手動(dòng)”合并沖突文本(檢查和修改文件中的沖突標(biāo)志)。
用某一個(gè)臨時(shí)文件覆蓋你的工作文件。運(yùn)行svnrevert<filename>來放棄所有的修改。一旦你解決了沖突,你需要通過命令svnresolved讓Subversion知道,這樣就會(huì)刪除三個(gè)臨時(shí)文件,Subversion就不會(huì)認(rèn)為這個(gè)文件是在沖突狀態(tài)了。[4]$svnresolvedsandwich.txtResolvedconflictedstateof'sandwich.txt'。請(qǐng)關(guān)注有關(guān)SVN簡(jiǎn)易使用手冊(cè)下節(jié)介紹。

【編輯推薦】

  1. SVN簡(jiǎn)易使用手冊(cè)專家推薦
  2. SVN簡(jiǎn)易使用手冊(cè)實(shí)例詳解
  3. ApacheSVN服務(wù)器安裝指導(dǎo)手冊(cè)
  4. 程序集版本中使用SVN版本號(hào)自動(dòng)生成方法詳解
  5. SVN服務(wù)器安裝指導(dǎo)手冊(cè)
責(zé)任編輯:佚名
相關(guān)推薦

2010-05-26 13:17:55

SVN簡(jiǎn)易使用手冊(cè)

2010-05-26 12:59:48

SVN簡(jiǎn)易使用手冊(cè)

2010-05-27 13:35:43

SVN簡(jiǎn)易使用手冊(cè)

2010-05-26 13:32:16

SVN簡(jiǎn)易使用手冊(cè)

2010-05-21 12:37:49

SVN使用教程

2010-05-26 14:01:47

SVN安裝使用手冊(cè)

2010-05-26 12:35:11

2010-05-20 19:12:37

2010-05-26 13:51:40

SVN安裝使用手冊(cè)

2010-05-26 12:45:49

SVN使用手冊(cè)

2010-06-01 13:19:04

2010-06-13 17:07:10

Cacti使用手冊(cè)

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ù)庫(kù)

2010-05-19 10:57:34

Subversion配

2013-10-31 14:55:22

點(diǎn)贊
收藏

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