Linux下svn常用命令

2021-10-24 19:03:02 字數 4249 閱讀 2194

path 是伺服器上的目錄。

svn checkout path

例如:svn checkout svn:

簡寫:svn co

這樣將把你的工作拷貝放到subv而不是和前面那樣放到trunk

file是某個檔案或者某個目錄,如果新增所有的檔案則用點「.」表示。

svn add file

例如:svn add test.php

svn add *.php(新增當前目錄下所有的php檔案)

svn add . (表示新增所有檔案)

提交檔案到伺服器。

svn commit -m 「logmessage「 [-n] [--no-unlock] path(如果選擇了保持鎖,就使用–no-unlock開關)

例如:svn commit -m 「add test file for my test」 test.php

簡寫:svn ci

一般步驟:

加鎖/解鎖命令。

svn lock -m 「lockmessage」 [--force] path

例如:svn lock -m 「lock test file」 test.php

svn unlock path

更新版本命令。

svn update -r m path

例如:1、 svn update 後面沒有目錄,預設更新當前目錄及子目錄的所有檔案到最新版本。

2、 svn update -r 200 test.php (將版本庫中的檔案test.php還原到版本200)

簡寫:svn up

update命令還可以進行檔案恢復。

(1)不小心寫錯了很多東西,想撤銷所寫的東西(已經把修改提交到伺服器)svn update -r 版本號

(2)不小心刪錯了檔案,想把檔案恢復回來(已經把刪除提交到伺服器)svn update -r 版本號

svn status -v path

svn status path

簡寫:svn st

顯示檔案和子目錄的狀態。

第一列保持相同,第二列顯示工作版本號,第三和第四列顯示最後一次修改的版本號和修改人。

注:svn statussvn diffsvn revert這三條命令在沒有網路的情況下也可以執行的,原因是svn在本地的.svn中保留了本地版本的原始拷貝。

檔案狀態描述

刪除檔案。

svn delete path -m 「delete test file」

例如:1、刪除遠端伺服器檔案

svn delete svn:/test.php -m 「delete test file」

2、刪除本地檔案,然後提交

svn delete test.php, 然後再svn ci -m 「delete test file」,推薦使用這種

簡寫:svn (del, remove, rm)

檢視日誌。

svn log path

例如:svn log test.php 顯示這個檔案的所有修改記錄,及其版本號的變化。

如果在工程的根目錄使用該命令可能會列出非常多的日誌內容,因此為了查詢方便,我們通常會使用一些附加引數來配合svn log命令的使用。

svn log -r :
顯示從r199687到r199385範圍的所有帶jaspersong字串的log (grep下面介紹)

svn log -r r103546:r104414 | grep -a 2 jaspersong
這裡說明一下grep -a 2 "jasper"|中a後面數字的差別,不同的數字表示顯示的log版本資訊不同的行數。

此命名用得比較多。

svn log -v --stop-on-copy $url
檢視檔案詳細資訊。

例如:svn info test.php
預設將修改的檔案與基礎版本比較。

例如:svn diff test.php

svn diff -r m:n path(對版本m和版本n比較差異)

例如:svn diff -r 200:201 test.php

簡寫:svn di

linux命令列下將兩個版本之間的差異合併到當前檔案。

svn merge -r m:n path

例如:svn merge -r 200:205 test.php(將版本200與205之間的差異合併到當前檔案,但是一般都會產生衝突,需要處理一下。

linux命令列下svn 幫助。

svn help ci
顯示path目錄下的所有屬於版本庫的檔案和目錄。

簡寫:svn ls
下面兩種情況都可以用revert命令恢復。

移除工作副本的目錄或檔案的「衝突」狀態。

用法: svn resolved path
注意:【本子命令不會依語法來解決衝突或是移除衝突標記;它只是移除衝突的相關檔案,然後讓 path 可以再次提交。】

svn copy
svn log --stop-on-copy
如得到版本號為:12461

在分支上,獲取最新的版本號

svn up
如得到版本號為:12767

切換到主幹,然後執行下面命令(後面的路徑為,分支的路徑。)

svn merge -r 12461:12767
cd branch 

svn log --stop-on-copy

最後乙個r11340就是建立分支時的reversion

方法二: 進入主幹目錄

cd trunk

svn -q --stop-on-copy 分支url # 這條命令會查詢出自建立分支以後分支上的所有修改,最下面的那個版本號就是我們要找的版本號.

示例:svn log -q --stop-on-copy svn:

示例: 

cd trunk

svn merge -r 12:head svn:

解決衝突:

使用svn st | grep ^c 查詢合併時的衝突檔案,手工解決衝突

使用svn resolved filename 告知svn衝突已解決

使用svn commit -m "" 提示合併後的版本

linux下svn常用命令

1 將檔案checkout到本地目錄 svn checkout path path是伺服器上的目錄 例如 svn checkout svn 簡寫 svn co 2 往版本庫中新增新的檔案 svn add file 例如 svn add test.php 新增test.php svn add php ...

linux下svn常用命令

列出幾個常用到的linux svn命令 svn checkout path path是svn位址 如 svn checkout 簡寫 svn co svn add path 如 svn add test.cpp svn commit m 修改資訊 path 如 svn commit m 新增make...

linux下svn常用命令

1 將檔案checkout到本地 svn checkout path path是伺服器的目錄 例如 svn checkout svn 2 往版本庫中新增新的檔案 svn add filename 例如 svn add test.cpp 3 將改動的檔案提交到版本庫 svn commit m 注釋 n...