Linux 下常用SVN命令

2021-10-04 20:06:33 字數 4307 閱讀 7244

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 status、svn diff和 svn 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 :
顯示某一版本範圍的log列表顯示從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

方法二: 進入主幹目錄

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 常用的命令

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

Linux命令列下常用svn命令

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