溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux系統(tǒng)中最常用的svn命令指的是什么

發(fā)布時(shí)間:2022-01-26 09:11:49 來(lái)源:億速云 閱讀:223 作者:kk 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)Linux系統(tǒng)中最常用的svn命令指的是什么,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

SVN是一個(gè)采用分支管理系統(tǒng)的開源版本控制系統(tǒng),能夠多人同時(shí)開發(fā)一個(gè)項(xiàng)目,達(dá)到共享資源的目的。下面和大家分享一下Linux系統(tǒng)中svn最常用的命令,有需要的朋友可以參考一下。

svn簡(jiǎn)介:

  • Subversion(SVN) 是一個(gè)開源的版本控制系統(tǒng), 也就是說(shuō) Subversion 管理著隨時(shí)間改變的數(shù)據(jù)。

  • 這些數(shù)據(jù)放置在一個(gè)中央資料檔案庫(kù)(repository) 中。 這個(gè)檔案庫(kù)很像一個(gè)普通的文件服務(wù)器, 不過(guò)它會(huì)記住每一次文件的變動(dòng)。 這樣你就可以把檔案恢復(fù)到舊的版本, 或是瀏覽文件的變動(dòng)歷史。

常用命令

1、svn checkout path

path 是服務(wù)器上的目錄。

 svn checkout path
 例如:svn checkout  svn://192.168.1.1/pro/domain
 簡(jiǎn)寫:svn co

1.1 svn checkout path subv

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

2、svn add file

file是某個(gè)文件或者某個(gè)目錄,如果添加所有的文件則用點(diǎn)“.”表示。

 svn add file
 例如:svn add test.php
 svn  add  *.php(添加當(dāng)前目錄下所有的php文件)
 svn add . (表示添加所有文件)

3、svn commit

提交文件到服務(wù)器。

 svn commit -m “LogMessage“ [-N] [--no-unlock] path(如果選擇了保持鎖,就使用–no-unlock開關(guān))
 例如:svn commit -m “add test file for my test”  test.php
 簡(jiǎn)寫:svn  ci

一般步驟:

  • step-1:svn update

  • step-2:svn add file、svn delete file

  • step-3:svn commit -m “提交文件到遠(yuǎn)程服務(wù)器”

4、svn lock

加鎖/解鎖命令。

 svn lock -m “LockMessage” [--force] path
 例如:svn lock -m “l(fā)ock test file”  test.php
 svn unlock path

5、svn update

更新版本命令。

 svn update -r m path
 例如:
 1、 svn update 后面沒(méi)有目錄,默認(rèn)更新當(dāng)前目錄及子目錄的所有文件到最新版本。
 2、 svn update -r 200 test.php (將版本庫(kù)中的文件test.php還原到版本200)
 簡(jiǎn)寫:svn up

update命令還可以進(jìn)行文件恢復(fù)。 (1)不小心寫錯(cuò)了很多東西,想撤銷所寫的東西(已經(jīng)把修改提交到服務(wù)器)svn update -r 版本號(hào) (2)不小心刪錯(cuò)了文件,想把文件恢復(fù)回來(lái)(已經(jīng)把刪除提交到服務(wù)器)?svn update -r 版本號(hào)

6、svn status

 svn status -v path
 svn status path
 簡(jiǎn)寫:svn st

顯示文件和子目錄的狀態(tài)。 第一列保持相同,第二列顯示工作版本號(hào),第三和第四列顯示最后一次修改的版本號(hào)和修改人。 注:svn status、svn diff和 svn revert這三條命令在沒(méi)有網(wǎng)絡(luò)的情況下也可以執(zhí)行的,原因是svn在本地的.svn中保留了本地版本的原始拷貝。

文件狀態(tài)描述

  • A 被添加到本地代碼倉(cāng)庫(kù)

  • ‘ ‘ 沒(méi)有修改

  • C 沖突

  • D 被刪除

  • I 被忽略

  • M 被修改

  • R 被替換

  • X 外部定義創(chuàng)建的版本目錄

  • ? 文件沒(méi)有被添加到本地版本庫(kù)內(nèi)

  • !文件丟失或者不完整(不是通過(guò)svn命令刪除的文件)

  • ~ 受控文件被其他文件阻隔

7、svn delete

刪除文件。

 svn delete path -m “delete test file”
 例如:
 1、刪除遠(yuǎn)程服務(wù)器文件
 svn delete svn://192.168.1.1/pro/domain/test.php  -m “delete test file”
 2、刪除本地文件,然后提交
 svn  delete test.php, 然后再svn ci -m “delete test file”,推薦使用這種
 簡(jiǎn)寫:svn (del, remove, rm)

8、svn log

查看日志。

 svn log path
 例如:svn log test.php 顯示這個(gè)文件的所有修改記錄,及其版本號(hào)的變化。

如果在工程的根目錄使用該命令可能會(huì)列出非常多的日志內(nèi)容,因此為了查找方便,我們通常會(huì)使用一些附加參數(shù)來(lái)配合svn log命令的使用。

查看一段日期的日志

 svn log -r {2018-07-03}:{2018-07-09}

顯示某一版本范圍的log列表

顯示從r199687到r199385范圍的所有帶jaspersong字符串的log (grep下面介紹)

 svn log -r r103546:r104414 | grep -A 2 jaspersong

這里說(shuō)明一下grep -A 2 "jasper"|中A后面數(shù)字的差別,不同的數(shù)字表示顯示的log版本信息不同的行數(shù)。

查看某一版本所修改的文件列表及說(shuō)明

此命名用得比較多。

 svn log -r r196674 -v

Linux系統(tǒng)中最常用的svn命令指的是什么

查找分支所有的修改

 svn log -v --stop-on-copy $URL

9、svn info path

查看文件詳細(xì)信息。

 例如:svn info test.php

10、svn diff path

默認(rèn)將修改的文件與基礎(chǔ)版本比較。

 例如:svn diff test.php
 svn diff -r m:n path(對(duì)版本m和版本n比較差異)
 例如:svn diff -r 200:201 test.php
 簡(jiǎn)寫:svn di

11、svn merge -r m:n path

Linux命令行下將兩個(gè)版本之間的差異合并到當(dāng)前文件。

 svn merge -r m:n path
 例如:svn merge -r 200:205 test.php(將版本200與205之間的差異合并到當(dāng)前文件,但是一般都會(huì)產(chǎn)生沖突,需要處理一下。

12、svn help

Linux命令行下SVN 幫助。

 svn help ci

不是常用的命令如下:

13、svn list path

顯示path目錄下的所有屬于版本庫(kù)的文件和目錄。

 簡(jiǎn)寫:svn ls

14、svn revert path

下面兩種情況都可以用revert命令恢復(fù)。

  • (1)不小心寫錯(cuò)了很多東西,想撤銷所寫的東西(還未把修改提交到服務(wù)器)

  • (2)不小心刪錯(cuò)了文件,想把文件恢復(fù)回來(lái)(還未把刪除提交到服務(wù)器) 注意: 本子命令不會(huì)存取網(wǎng)絡(luò),并且會(huì)解除沖突的狀況。但是它不會(huì)恢復(fù)被刪除的目錄?!具€不沒(méi)實(shí)踐過(guò),不知道不會(huì)恢復(fù)本地刪除的目錄是什么意思】

15、svn resolved path

移除工作副本的目錄或文件的“沖突”狀態(tài)。

 用法: svn resolved path

注意: 【本子命令不會(huì)依語(yǔ)法來(lái)解決沖突或是移除沖突標(biāo)記;它只是移除沖突的相關(guān)文件,然后讓 path 可以再次提交?!?/strong>

16、svn copy創(chuàng)建分支

  • 創(chuàng)建分支參考資料: https://www.cnblogs.com/huang0925/p/3254243.html https://blog.csdn.net/yangzhongxuan/article/details/7519948 https://blog.csdn.net/min954584739/article/details/78114273

  • 從主干上創(chuàng)建分支。

 svn cp -m "create branch"  http://svn_server/xxx_repository/trunk  http://svn_server/xxx_repository/branches/br_feature001
  • 獲得分支

 svn co http://svn_server/xxx_repository/branches/br_feature001
  • 主干合并到分支

 cd br_feature001
 
 svn merge http://svn_server/xxx_repository/trunk
  • 分支合并到主干 一旦分支上的開發(fā)結(jié)束,分支上的代碼需要合并到主干。SVN中執(zhí)行該操作需要在trunk的工作目錄下進(jìn)行。命令如下:

 cd trunk
 svn merge --reintegrate http://svn_server/xxx_repository/branches/br_feature001

17、分支合并到主干一

  • 創(chuàng)建分支

 svn copy http://example.com/repos/project/trunk http://example.com/repos/project/branches/beta
  • 合并分支到主干 在分支上,獲取剛開始的版本號(hào)

 svn log --stop-on-copy  http://example.com/repos/project/branches/search_collect_1108

如得到版本號(hào)為:12461

在分支上,獲取最新的版本號(hào)

 svn up

如得到版本號(hào)為:12767

切換到主干,然后執(zhí)行下面命令(后面的路徑為,分支的路徑。)

 svn merge -r 12461:12767  http://example.com/repos/project/branches/search_collect_1108

18、合并一個(gè)分支到主干二

  • 查找到分支版本 方法一:進(jìn)入分支目錄

 cd branch
 svn log --stop-on-copy

最后一個(gè)r11340就是創(chuàng)建分支時(shí)的reversion

方法二: 進(jìn)入主干目錄

 cd trunk
 svn -q --stop-on-copy 分支URL  # 這條命令會(huì)查詢出自創(chuàng)建分支以后分支上的所有修改,最下面的那個(gè)版本號(hào)就是我們要找的版本號(hào).
 示例:svn log -q --stop-on-copy svn://192.168.1.177/tags/beta_2009_12_24
  • 合并到主干 命令:svn -r 分支版本號(hào):HEAD 分支的URL 解釋:HEAD為當(dāng)前主干上的最新版本

 示例:
 cd trunk
 svn merge -r 12:HEAD svn://192.168.1.177/tags/beta_2009_12_24

什么是Linux系統(tǒng)

Linux是一種免費(fèi)使用和自由傳播的類UNIX操作系統(tǒng),是一個(gè)基于POSIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng),使用Linux能運(yùn)行主要的Unix工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。

關(guān)于Linux系統(tǒng)中最常用的svn命令指的是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI