1. 程式人生 > >linux環境下svn的搭建管理

linux環境下svn的搭建管理

centos搭建svn

安裝步驟如下:
[[email protected]_test_26_74 ~]# yum install subversion


2、輸入rpm -ql subversion檢視安裝位置,如下圖

[[email protected]_test_26_74 ~]# rpm -ql subversion
/etc/bash_completion.d
/etc/bash_completion.d/subversion
/etc/rc.d/init.d/svnserve
/etc/subversion
/usr/bin/svn
/usr/bin/svnadmin
/usr/bin/svndumpfilter
/usr/bin/svnlook
/usr/bin/svnserve
/usr/bin/svnsync
/usr/bin/svnversion


[[email protected]_test_26_74 ~]# svn --version
svn, version 1.6.11 (r934486)
   compiled Aug 17 2015, 08:37:43

Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see
http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

The following repository access (RA) modules are available:

* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
  - handles 'http' scheme
  - handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
  - with Cyrus SASL authentication
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme

[[email protected]_test_26_74 ~]# svn --help
usage: svn <subcommand> [options] [args]
Subversion command-line client, version 1.6.11.
Type 'svn help <subcommand>' for help on a specific subcommand.
Type 'svn --version' to see the program version and RA modules
  or 'svn --version --quiet' to see just the version number.

Most subcommands take file and/or directory arguments, recursing
on the directories.  If no arguments are supplied to such a
command, it recurses on the current directory (inclusive) by default.

Available subcommands:
   add
   blame (praise, annotate, ann)
   cat
   changelist (cl)
   checkout (co)
   cleanup
   commit (ci)
   copy (cp)
   delete (del, remove, rm)
   diff (di)
   export
   help (?, h)
   import
   info
   list (ls)
   lock
   log
   merge
   mergeinfo
   mkdir
   move (mv, rename, ren)
   propdel (pdel, pd)
   propedit (pedit, pe)
   propget (pget, pg)
   proplist (plist, pl)
   propset (pset, ps)
   resolve
   resolved
   revert
   status (stat, st)
   switch (sw)
   unlock
   update (up)

Subversion is a tool for version control.
For additional information, see
http://subversion.tigris.org/

3、建立svn版本庫目錄
[[email protected]_test_26_74 ~]# mkdir -p  /svn/data


4、建立版本庫
[[email protected]_test_26_74 data]# svnadmin create /svn/data

會生成如下檔案
[[email protected]_test_26_74 data]# ll
total 24
drwxr-xr-x 2 root root 4096 Apr 25 10:37 conf
drwxr-sr-x 6 root root 4096 Apr 25 10:37 db
-r--r--r-- 1 root root    2 Apr 25 10:37 format
drwxr-xr-x 2 root root 4096 Apr 25 10:37 hooks
drwxr-xr-x 2 root root 4096 Apr 25 10:37 locks
-rw-r--r-- 1 root root  229 Apr 25 10:37 README.txt

5、進入conf目錄(該svn版本庫配置檔案)

authz檔案是許可權控制檔案
passwd是帳號密碼檔案
svnserve.conf SVN服務配置檔案


6、設定帳號密碼
vi passwd
在[users]塊中新增使用者和密碼,格式:帳號=密碼,如dan=dan

7、設定許可權
vi authz
在末尾新增如下程式碼:
[/]
dan=rw
w=r
意思是版本庫的根目錄dan對其有讀寫許可權,w只有讀許可權。

8、修改svnserve.conf檔案
vi svnserve.conf
開啟下面的幾個註釋:
anon-access = read #匿名使用者可讀
auth-access = write #授權使用者可寫
password-db = passwd #使用哪個檔案作為賬號檔案
authz-db = authz #使用哪個檔案作為許可權檔案
realm = /svn/data # 認證空間名,版本庫所在目錄

9、啟動svn版本庫
svnserve -d -r /svn/data


10、在windows上測試
新建一個測試資料夾,在該資料夾下右鍵選擇 SVN checkout如下圖(要事先安裝TortoiseSVN):


管理:


假設我把上述三個資料夾放到當前svn的資料夾下想讓svn管理,然後我要做的是新增到svn版本庫裡


1、將檔案checkout到本地目錄
svn co
[[email protected] svn]# svn co svn://192.168.26.74

2、往版本庫中新增新的檔案

svn add filename
例如:[[email protected] 192.168.26.74]# svn add bbb
A         bbb

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

3、將改動的檔案提交到版本庫

例如:svn commit -m "addtestfileformytest" bbb       -m  後面是註釋內容
簡寫:
[[email protected] 192.168.26.74]# svn ci -m "zw" ccc
Adding         ccc
Transmitting file data .
Committed revision 3.


4、加鎖/解鎖

[[email protected] 192.168.26.74]# svn lock -m "lockbbbfile" bbb
'bbb' locked by user 'zhengwei'.

[[email protected] 192.168.26.74]# svn unlock  bbb
'bbb' unlocked.

5、更新到某個版本
svn update -rmpath

例如:
svn update 如果後面沒有目錄,預設將當前目錄以及子目錄下的所有檔案都更新到最新版本。
[[email protected] 192.168.26.74]# svn update
At revision 3.

svn update -r 2 bbb (將版本庫中的檔案bbb還原到版本2)
[[email protected] 192.168.26.74]# svn update -r 2 bbb
At revision 2.

svn update bbb (更新,於版本庫同步。如果在提交的時候提示過期的話,是因為衝突,需要先update,修改檔案,然後清除svnresolved,最後再提交commit)
[[email protected] 192.168.26.74]# svn update bbb
At revision 3.


簡寫:svn up bbb
[[email protected] 192.168.26.74]# svn up bbb
At revision 3.


6、檢視檔案或者目錄狀態
1.svn status path(目錄下的檔案和子目錄的狀態,正常狀態不顯示)
【?:不在svn的控制中;M:內容被修改;C:發生衝突;A:預定加入到版本庫;K:被鎖定】

2)svn status-vpath(顯示檔案和子目錄狀態)
第一列保持相同,第二列顯示工作版本號,第三和第四列顯示最後一次修改的版本號和修改人。
注:svn status、svn diff和svn revert這三條命令在沒有網路的情況下也可以執行的,原因是svn在本地的.svn中保留了本地版本的原始拷貝。
簡寫:svnst

7、刪除檔案
svn delete path -m "deletetestfle"

例如:[[email protected] 192.168.26.74]# svn delete svn://192.168.26.74/svn/data/bbb -m "deletetestfile"
svn: URL 'svn://192.168.26.74/svn/data/bbb' does not exist
[[email protected] 192.168.26.74]# svn delete svn://192.168.26.74/bbb -m "deletetestfile"

Committed revision 4.


或者直接svn delete ccc 然後再 svn ci -m 'deletetestfile‘ 推薦使用這種
簡寫:svn(del,remove,rm)
[[email protected] 192.168.26.74]# svn ci -m 'deletetestfile' ccc
Deleting       ccc

Committed revision 5.

8、檢視日誌
例如:svn log bbb 顯示這個檔案的所有修改記錄,及其版本號的變化

9、檢視檔案詳細資訊
svn info path
例如:

[[email protected] 192.168.26.74]# svn info 1.xlsx
Path: 1.xlsx
Name: 1.xlsx
URL: svn://192.168.26.74/1.xlsx
Repository Root: svn://192.168.26.74
Repository UUID: 4f04f3c2-6495-4efe-9cd4-b331f090cf40
Revision: 4
Node Kind: file
Schedule: normal
Last Changed Author: zhengwei
Last Changed Rev: 1
Last Changed Date: 2016-04-25 14:05:33 +0800 (Mon, 25 Apr 2016)
Text Last Updated: 2016-04-25 14:33:45 +0800 (Mon, 25 Apr 2016)
Checksum: e8cd027de7b7f4c3d13e434dc793785e


10、比較差異
svn diff path(將修改的檔案與基礎版本比較)
例如:svn diff test.php
svn diff -rm:npath(對版本m和版本n比較差異)
例如:svn diff -r2:3  bbb

簡寫:svn di
 
11、將兩個版本之間的差異合併到當前檔案
svn  merge -rm:npath
例如:svnmerge -r200:205 bbb(將版本200與205之間的差異合併到當前檔案,但是一般都會產生衝突,需要處理一下)

12、SVN幫助
svn help
svn help ci

一個svn多個版本庫:

1. 建立版本庫boot 和 test

2. 把svnserver.conf檔案的配置路徑改成全域性的

3. 把配置加到全域性 authz 配置檔案裡面

[boot:/]
@other = rw

[test:/]
@other = rw 

相關推薦

linux環境svn搭建管理

centos搭建svn 安裝步驟如下: [[email protected]_test_26_74 ~]# yum install subversion 2、輸入rpm -ql subver

linux環境搭建Nexus2,Maven私服

linux環境下,搭建Nexus,Maven私服 本文由個人總結,如需轉載使用請標明原著及原文地址 許多人都喜歡使用maven進行jar包管理,這樣專案匯入另一個環境時,就不會因為jar包的缺失導致專案報錯 但是像企業開發有些jar包是非官方的,那麼每次都要拷這些j

Linux環境配置搭建Redis分散式叢集

久前, 玩過redis叢集服務的搭建, 那種哨兵模式有點類似資料庫的讀寫分離, 但是業務寫入資料還是全部由一個邏輯上的master承擔的, 具體方法可見 [哨兵]; 今天來依據Redis的官方說明部署把玩下分散式叢集, 這種模式可以配置多個master均分163

linux環境gitblit搭建

這篇文章主要介紹了在Linux系統中安裝使用Gitblit的教程,Gitblit是一款開源的Git倉庫軟體,需要的朋友可以參考下 Git是一款注重速度、資料完整性、分散式支援和非線性工作流的分散式版本控制工具。Git最初由LinusTorvalds在2005年為Linux核

Linux環境快速搭建一個javaweb專案網站(阿里雲ubuntu)

前言: 完成一個web專案或者完成了自己部落格的編輯之後,迫切想釋出都網際網路上,展示自己一下。 這裡主要介紹javaweb專案如何快速放在伺服器上,並且釋出至網際網路。 1、前期裝備。 主要是申請伺服器,配置ftp\ssh環境,配置tomcat伺服

qt 在linux環境搭建 (自己整理)

想起自己當初剛開始學習Qt的那個苦惱,一開始不知道各個軟體之間的關係和安裝時具體為什麼這麼做,現在就把它總結一下,希望對大家有所幫助。 1. 硬體環境 A. 主機:x86系列PC機。 B. 開發板:博創2410-s。 C. 通訊連線:串列埠和網路。 2. 軟體環境 A. 主

linux環境搭建自動化Jenkins管理工具

一、搭建一個jak--tomcat伺服器到自己的linux伺服器上   具體的伺服器搭建這裡可以參考華華大佬的部落格:https://www.cnblogs.com/liulinghua90/p/4661424.html 二、 如果通過http:ip地址:埠在瀏覽器訪問出現下   說明

linux環境搭建禪道管理系統

vmware Linux: Centos 6.7禪道安裝包:ZenTaoPMS.10.0.stable.zbox_64.tar.gz將安裝包放在/opt目錄下並解壓tar -zxvf ZenTaoPMS.10.0.stable.zbox_64.tar.gzcd /zbox./

Windows和Linux環境搭建SVN伺服器

--------------------------Windows下搭建SVN伺服器----------------------------- 一、安裝SVN服務端 軟體包Setup-Subversion-1.8.17.msi,下載地址:https://source

(1)Jenkins Linux環境的簡單搭建

linux java jenkins安裝部署 jdk apache-maven (1)Jenkins Linux環境下的簡單搭建 Jenkins是一個開源軟件項目,旨在提供一個開放易用的軟件平臺,使軟件的持續集成變成可能。----百度百科 這是一款基於Java開發的工具。種種

Linux 環境搭建 Jenkins(Hudson)平臺

效果 swd gpo conf 有一個 信息 hudson track 文件 安裝jenkins:安裝 jenkins 有兩種方式:安裝方式一: [java] view plain copy sudo java -jar jenkins.war –htt

Linux 環境NTP 服務搭建

between 1.2 但是 var 陷阱 def 導致 con red hat ##################################################################################實驗環境:Red Hat 6

Linux 環境NFS 服務搭建

Linux NFS 服務 之前接到一個電話面試其中一個問題是如何搭建一個NFS服務器,他說他看過我的博客了,忽然我的第一反應是聯想到博客裏面可能是缺少了一篇關於NFS的文章了^_^~ 開玩笑啦!~ 下面說點正經的,如果大家是在生產環境上建議使用成熟封裝後產品,國產和國外的很多固定存儲產品都

Linux環境Jenkins簡單搭建步驟

Jenkins簡介Jenkins是一個開源軟件項目,旨在提供一個開放易用的軟件平臺,使軟件的持續集成變成可能。這是一款基於Java開發的工具。種種原因,最近剛開始接觸,決定研究一下。Jenkins的搭建方法不止一種,一下就是個人總結的其中一種,文章內容比較淺顯,不足之處,歡迎指正。JDK下載地址應該不用說了,

linux環境搭建MySQL

啟動mysql charset serve spool arm bundle mes SQ sign linux下搭建mysql的方式很多,網上也詳解了很多種搭建方式,有直接yum的、有rpm的、、總之,“坑”是層出不窮,有相關文件依賴性、權限、GPG keys等等。 本人

Linux環境SolrCloud集群環境搭建關鍵步驟

loser org 環境搭建 歷史版本 solrcloud 節點 上傳 solr p s Linux環境下SolrCloud集群環境搭建關鍵步驟。 前提條件:已經完成ZooKeeper集群環境搭建。 一、下載介質 官網下載地址:http://www.apache.org

linux環境搭建MySQL數據庫的雙擊熱備

RoCE offset 可能 引入 The repl chang 操作系統 lis 準備服務器 由於Mysql不同版本之間的(二進制日誌)binlog格式可能會不太一樣,因此最好的搭配組合是主(Master)服務器的Mysql版本和從(Slave)服務器版本相同或者更低,

測試環境搭建和部署(在Linux環境搭建jdk+Tomcat+mysql環境和項目包的部署)

pri 環境 安裝包 mysq 自己 進行 配置jdk linu 連接數   1.Linux環境(我搭建的是64位centos版本的linux系統)   1.下載並安裝一個VMware Workstation虛擬機,是搭建Linux系統的平臺。     2.下載一個

Linux環境java環境搭建一 JDK搭建

shell dt.jar 移動 之前 下載 環境變量path his exp 格式 第一步:下載jdk壓縮文件 第二步:上傳到家目錄下的soft目錄下,可以采用winscp,此處下載的是.tar.gz文件 第三步:解壓壓縮文件,並在/usr/local目錄下創建一個jdk7

linux環境搭建Go語言開發環境並設定語法高亮

這個部落格是我自己從頭開始搭建,在設定語法高亮的時候碰到了很多問題,主要原因嘛,就是網上搜索很多東西,大多都是同樣的內容,但是根據這個內容根本搭建不出Go語言的開發環境,為了給大家減少不必要的麻煩,現在我以我搭建的過程給大家講一下。 我使用的環境是CentOS6.5版,使用的是虛擬機器版本,