- 將文件checkout到本地目錄
命令: svn checkout path(path是服務(wù)器上的目錄)
例如:svn checkout svn://192.168.1.1/test
簡(jiǎn)寫:svn co - 往版本庫中添加新的文件
svn add file
例如:svn add test.php(添加test.php)
svn add *.php(添加當(dāng)前目錄下所有的php文件)
3、將改動(dòng)的文件提交到版本庫
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 svn commit -m “LogMessage“ [-N] [--no-unlock] PATH (如果選擇了保持鎖扰路,就使用–no-unlock開關(guān)) 2 例如:
svn commit -m “add test file for my test“ test.php 3 簡(jiǎn)寫:
svn ci</pre>
4堰怨、加鎖/解鎖
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 svn lock -m “LockMessage“ [--force] PATH 2 例如:svn lock -m “l(fā)ock test file“ test.php 3 svn unlock PATH</pre>
5着撩、更新到某個(gè)版本
[](javascript:void(0); "復(fù)制代碼")
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 svn update -r m path 2 例如: 3 svn update如果后面沒有目錄,默認(rèn)將當(dāng)前目錄以及子目錄下的所有文件都更新到最新版本忧饭。 4 svn update -r 200 test.php(將版本庫中的文件test.php還原到版本200) 5 svn update test.php(更新,于版本庫同步。如果在提交的時(shí)候提示過期的話足删,是因?yàn)闆_突,需要先update锁右,修改文件失受,然后清除svn resolved,最后再提交commit) 6 簡(jiǎn)寫:svn up</pre>
[](javascript:void(0); "復(fù)制代碼")
6咏瑟、查看文件或者目錄狀態(tài)
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 1)svn status path(目錄下的文件和子目錄的狀態(tài)拂到,正常狀態(tài)不顯示) 2 【?:不在svn的控制中;M:內(nèi)容被修改码泞;C:發(fā)生沖突兄旬;A:預(yù)定加入到版本庫;K:被鎖定】 3 2)svn status -v path(顯示文件和子目錄狀態(tài)) 4 第一列保持相同余寥,第二列顯示工作版本號(hào)领铐,第三和第四列顯示最后一次修改的版本號(hào)和修改人。 5 注:svn status宋舷、svn diff和 svn revert這三條命令在沒有網(wǎng)絡(luò)的情況下也可以執(zhí)行的绪撵,原因是svn在本地的.svn中保留了本地版本的原始拷貝。 6 簡(jiǎn)寫:svn st</pre>
7祝蝠、刪除文件
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 svn delete path -m “delete test fle“ 2 例如:svn delete svn://192.168.1.1/pro/domain/test.php -m “delete test file” 3 或者直接svn delete test.php 然后再svn ci -m ‘delete test file‘音诈,推薦使用這種 4 簡(jiǎn)寫:svn (del, remove, rm)</pre>
8幻碱、查看日志
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 svn log path 2 例如:svn log test.php 顯示這個(gè)文件的所有修改記錄,及其版本號(hào)的變化</pre>
9细溅、查看文件詳細(xì)信息
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 svn info path 2 例如:svn info test.php</pre>
10褥傍、比較差異
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 svn diff path(將修改的文件與基礎(chǔ)版本比較) 2 例如:svn diff test.php 3 svn diff -r m:n path(對(duì)版本m和版本n比較差異) 4 例如:svn diff -r 200:201 test.php 5 簡(jiǎn)寫:svn di</pre>
11、將兩個(gè)版本之間的差異合并到當(dāng)前文件
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 svn merge -r m:n path 2 例如:svn merge -r 200:205 test.php(將版本200與205之間的差異合并到當(dāng)前文件喇聊,但是一般都會(huì)產(chǎn)生沖突恍风,需要處理一下)</pre>
12、SVN 幫助
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 svn help 2 svn help ci</pre>
13誓篱、版本庫下的文件和目錄列表
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 svn list path 2 顯示path目錄下的所有屬于版本庫的文件和目錄 3 簡(jiǎn)寫:svn ls</pre>
14朋贬、創(chuàng)建納入版本控制下的新目錄
[](javascript:void(0); "復(fù)制代碼")
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 svn mkdir: 創(chuàng)建納入版本控制下的新目錄。 2 用法: 1燕鸽、mkdir PATH… 3 2兄世、mkdir URL… 4 創(chuàng)建版本控制的目錄。 5 1啊研、每一個(gè)以工作副本 PATH 指定的目錄御滩,都會(huì)創(chuàng)建在本地端,并且加入新增 6 調(diào)度党远,以待下一次的提交削解。 7 2、每個(gè)以URL指定的目錄沟娱,都會(huì)透過立即提交于倉庫中創(chuàng)建氛驮。 8 在這兩個(gè)情況下,所有的中間目錄都必須事先存在</pre>
[](javascript:void(0); "復(fù)制代碼")
15济似、恢復(fù)本地修改
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 svn revert: 恢復(fù)原始未改變的工作副本文件 (恢復(fù)大部份的本地修改)矫废。revert: 2 用法: revert PATH… 3 注意: 本子命令不會(huì)存取網(wǎng)絡(luò),并且會(huì)解除沖突的狀況砰蠢。但是它不會(huì)恢復(fù) 4 被刪除的目錄</pre>
16蓖扑、代碼庫URL變更
[](javascript:void(0); "復(fù)制代碼")
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"> 1 svn switch (sw): 更新工作副本至不同的URL。
2 用法: 1台舱、switch URL [PATH]
3 2律杠、switch –relocate FROM TO [PATH...]
4
5 1、更新你的工作副本竞惋,映射到一個(gè)新的URL柜去,其行為跟“svn update”很像,也會(huì)將
6 服務(wù)器上文件與本地文件合并拆宛。這是將工作副本對(duì)應(yīng)到同一倉庫中某個(gè)分支或者標(biāo)記的
7 方法嗓奢。
8 2、改寫工作副本的URL元數(shù)據(jù)胰挑,以反映單純的URL上的改變蔓罚。當(dāng)倉庫的根URL變動(dòng)
9 (比如方案名或是主機(jī)名稱變動(dòng))椿肩,但是工作副本仍舊對(duì)映到同一倉庫的同一目錄時(shí)使用 10 這個(gè)命令更新工作副本與倉庫的對(duì)應(yīng)關(guān)系瞻颂。</pre>
](javascript:void(0); "復(fù)制代碼")
17豺谈、解決沖突
<pre style="margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">1 svn resolved: 移除工作副本的目錄或文件的“沖突”狀態(tài)。
2 用法: resolved PATH…
3 注意: 本子命令不會(huì)依語法來解決沖突或是移除沖突標(biāo)記贡这;它只是移除沖突的
4 相關(guān)文件茬末,然后讓 PATH 可以再次提交。</pre>