SVN 建立版本庫 與 啟動 SVN 服務
版本庫
- 本文承接《 Windows 系統安裝 SVN 詳細步驟》
版本庫簡介
- ① 為什麼要配置版本庫?
Subversion 是將檔案資料資訊儲存到版本庫中進行管理的,為了滿足使用者的不同需求,Subversion 允許使用者對版本庫目錄進行定製。
- ② 在一個非中文無空格目錄下建立一個資料夾,作為版本庫的根目錄。
例如:D:\DevRepository\Subversion
- ③ 在版本庫根目錄下建立與具體專案對應的子目錄作為版本庫——這樣做的目的是使一個 SVN 伺服器能夠同時管理多個專案,而不是為每一個專案搭建一個 SVN 伺服器,例如:
D:\DevRepository\Subversion\CRM
D:\DevRepository\Subversion\ERP
D:\DevRepository\Subversion\OA
- ④ 建立版本庫命令格式:svnadmin create 倉庫路徑,如 svnadmin create D:\DevRepository\Subversion\StuSys
- ⑤ 版本庫建立之後,自動生成目錄結構如下:
版本庫操作
- 如果沒有安裝 SVN 的,可以參考《 Windows 系統安裝 SVN 詳細步驟》,安裝好的 svn 版本如下 1.9.5:
C:\Users\Administrator.SC-201707281232>svn --version
svn, version 1.9.5 (r1770682)
compiled Nov 26 2016, 14:22:31 on x86-microsoft-windows
Copyright (C) 2016 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/
The following repository access (RA) modules are available:
* 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
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
- using serf 1.3.9 (compiled with 1.3.9)
- handles 'http' scheme
- handles 'https' scheme
The following authentication credential caches are available:
* Wincrypt cache in C:\Users\Administrator.SC-201707281232\AppData\Roaming\Subversion
C:\Users\Administrator.SC-201707281232>
- 1)準備版本庫根目錄,如下所示用 E:/SvnRepository 做為版本庫根目錄,裡面的子目錄以後就是一個一個實際的開發專案
- 2)dog 與 tiger 目錄作為真正的版本庫,現在使用命令來建立 SVN 版本庫:svnadmin create 倉庫路徑
C:\Users\Administrator.SC-201707281232>svnadmin create E:\SvnRepository\dog
C:\Users\Administrator.SC-201707281232>
啟動 SVN 服務
- 建立好 SVN 版本庫之後,就可以啟動 SVN 服務了,Windows 系統上啟動時,可以分為 cmd 視窗中使用命令列啟動,也可以將 SVN 註冊為 Windows 服務,讓它跟隨系統啟動。
CMD 命令列啟動
- 命令:svnserve -d -r 版本庫根目錄,注意所有的命令都可以通過 svnserve --help 進行檢視!
-d :表示後臺執行
-r 後面接版本庫根目錄,如 E:\SvnRepository
- SVN 正常啟動後會佔用 3690 埠,可以通過埠檢視判斷 SVN 是否執行成功!
- 如上所示,在其中一個 cmd 視窗中使用命令 svnserve -d -r E:\SvnRepository 啟動 SVN,因為是後臺啟動,所以它的游標會一直在那裡閃爍,如果視窗關閉,則 SVN 服務也會一併關閉
- 在另外一個 cmd 視窗中可以使用 netstat -ano|findstr 3690 命令檢視 svn 的 3690 埠,同時也可以使用 tasklist |findstr 5488 檢視 PID 為 5488 的是哪個程式,由上可見就是 svnserve.exe 程式
註冊服務啟動
- 命令列方式優點是直觀,缺陷是隻要執行伺服器端程式的命令列視窗一關閉,服務就會停止,每次開機都需要手動啟動。
- 將程式註冊為 Windows 服務是一個較好的解決辦法,將 SVN 服務端程式註冊為 Windows 服務,就可以讓 SVN 服務隨系統一起啟動。
- 註冊 Windows 服務需要利用 Windows 系統自帶的工具 sc.exe,可以在 C:/Windows/System32 目錄下找到
- 可以直接在 cmd 中輸入 " sc " 命令,可以檢視 sc.exe 所有的命令與引數
C:\Users\Administrator.SC-201707281232>sc
描述:
SC 是用來與服務控制管理器和服務進行通訊
的命令列程式。
用法:
sc <server> [command] [service name] <option1> <option2>...
<server> 選項的格式為 "\\ServerName"
可通過鍵入以下命令獲取有關命令的更多幫助: "sc [command]"
命令:
query-----------查詢服務的狀態,
或列舉服務型別的狀態。
queryex---------查詢服務的擴充套件狀態,
或列舉服務型別的狀態。
start-----------啟動服務。
pause-----------向服務傳送 PAUSE 控制請求。
interrogate-----向服務傳送 INTERROGATE 控制請求。
continue--------向服務傳送 CONTINUE 控制請求。
stop------------向服務傳送 STOP 請求。
config----------更改服務的配置(永久)。
description-----更改服務的描述。
failure---------更改失敗時服務執行的操作。
failureflag-----更改服務的失敗操作標誌。
sidtype---------更改服務的服務 SID 型別。
privs-----------更改服務的所需特權。
managedaccount--更改服務以將服務帳戶密碼
標記為由 LSA 管理。
qc--------------查詢服務的配置資訊。
qdescription----查詢服務的描述。
qfailure--------查詢失敗時服務執行的操作。
qfailureflag----查詢服務的失敗操作標誌。
qsidtype--------查詢服務的服務 SID 型別。
qprivs----------查詢服務的所需特權。
qtriggerinfo----查詢服務的觸發器引數。
qpreferrednode--查詢服務的首選 NUMA 節點。
qmanagedaccount-查詢服務是否將帳戶
與 LSA 管理的密碼結合使用。
qprotection-----查詢服務的程式保護級別。
quserservice----查詢使用者服務模板的本地例項。
delete ----------(從登錄檔中)刪除服務。
create----------建立服務(並將其新增到登錄檔中)。
control---------向服務傳送控制。
sdshow----------顯示服務的安全描述符。
sdset-----------設定服務的安全描述符。
showsid---------顯示與任意名稱對應的服務 SID 字串。
triggerinfo-----配置服務的觸發器引數。
preferrednode---設定服務的首選 NUMA 節點。
GetDisplayName--獲取服務的 DisplayName。
GetKeyName------獲取服務的 ServiceKeyName。
EnumDepend------列舉服務依賴關係。
以下命令不需要服務名稱:
sc <server> <command> <option>
boot------------(ok | bad)指示是否應將上一次啟動另存為
最近一次已知的正確啟動配置
Lock------------鎖定服務資料庫
QueryLock-------查詢 SCManager 資料庫的 LockStatus
示例:
sc start MyService
QUERY 和 QUERYEX 選項:
如果查詢命令帶服務名稱,將返回
該服務的狀態。其他選項不適合這種
情況。如果查詢命令不帶引數或
帶下列選項之一,將列舉此服務。
type= 要列舉的服務的型別(driver, service, userservice, all)
(預設 = service)
state= 要列舉的服務的狀態 (inactive, all)
(預設 = active)
bufsize= 列舉緩衝區的大小(以位元組計)
(預設 = 4096)
ri= 開始列舉的恢復索引號
(預設 = 0)
group= 要列舉的服務組
(預設 = all groups)
語法示例
sc query - 列舉活動服務和驅動程式的狀態
sc query eventlog - 顯示 eventlog 服務的狀態
sc queryex eventlog - 顯示 eventlog 服務的擴充套件狀態
sc query type= driver - 僅列舉活動驅動程式
sc query type= service - 僅列舉 Win32 服務
sc query state= all - 列舉所有服務和驅動程式
sc query bufsize= 50 - 列舉緩衝區為 50 位元組
sc query ri= 14 - 列舉時恢復索引 = 14
sc queryex group= "" - 列舉不在組內的活動服務
sc query type= interact - 列舉所有不活動服務
sc query type= driver group= NDIS - 列舉所有 NDIS 驅動程式
C:\Users\Administrator.SC-201707281232>
- 現在要做的是建立服務,所以要使用其中的 " create ----------建立服務(並將其新增到登錄檔中) " 命令,想要檢視哪個字命令的具體用法,可以在 cmd 中直接使用 " sc 字命令" 就能一目瞭然,如下所示用法以及注意事項都很清楚了。
C:\Users\Administrator.SC-201707281232>sc create
描述:
在登錄檔和服務資料庫中建立服務項。
用法:
sc <server> create [service name] [binPath= ] <option1> <option2>...
選項:
注意: 選項名稱包括等號。
等號和值之間需要一個空格。
type= <own|share|interact|kernel|filesys|rec|userown|usershare>
(預設 = own)
start= <boot|system|auto|demand|disabled|delayed-auto>
(預設 = demand)
error= <normal|severe|critical|ignore>
(預設 = normal)
binPath= <.exe 檔案的 BinaryPathName>
group= <LoadOrderGroup>
tag= <yes|no>
depend= <依存關係(以 / (斜槓)分隔)>
obj= <AccountName|ObjectName>
(預設= LocalSystem)
DisplayName= <顯示名稱>
password= <密碼>
C:\Users\Administrator.SC-201707281232>
- 因為註冊 Windows 服務是比較底層的操作,需要修改登錄檔,所以啟動的 cmd 視窗需要以管理員身份執行。
- 現在使用命令為 svn 註冊 Windows 服務:
sc create SvnService binpath= "D:\Subversion\bin\svnserve.exe --service -r E:\SvnRepository" start= auto depend= Tcpip
1)create:建立服務(並將其新增到登錄檔中)
2)SvnService:服務名稱,自己取
3)binpath:執行程式的二進位制檔案路徑,就是需要註冊服務的程式,等於號右邊帶空格
4)--service:這不是 sc 命令的引數,而是 svnserve.exe 程式的引數,表示建立服務
5)-r:同理 -r 也是為 svnserve.exe 指定版本庫根目錄
6)start:啟動型別,auto 表示跟隨系統自動啟動,等於號右邊帶空格
7)depend:依賴關係,說明 widnows 服務與 svnserve.exe 之間底層需要使用 Tcpip 協議,等於號右邊帶空格
- 如上所示,服務註冊成功,也可以通過檢視埠和程式判斷是否 svn 啟動成功
- 《特別提醒:後面使用命令列進行 檢出操作的時候報錯說連不上 SVN 伺服器,說明註冊服務有問題》
C:\Users\Administrator.SC-201707281232>netstat -ano|findstr 3690
TCP 0.0.0.0:3690 0.0.0.0:0 LISTENING 13728
C:\Users\Administrator.SC-201707281232>tasklist |findstr 13728
svnserve.exe 13728 Services 0 8,736 K
C:\Users\Administrator.SC-201707281232>
- 同理 sc 還有許多關於服務的命令,同理它們都需要 管理員 許可權,如:
sc start 服務名:啟動服務
sc stop 服務名:停止服務,刪除服務之前,都建議先停止服務
sc delete 服務名:刪除服務,電腦重啟後,服務皮膚中就不會再有值了
相關文章
- 玩轉SVN-建立版本庫
- svn歷史版本刪除(為svn庫瘦身)
- Linux 下搭建 SVN 服務Linux
- Linux下安裝SVN服務端Linux服務端
- 玩轉SVN-啟動模式模式
- SVN庫匯出與還原
- [轉載]SVN系列之—-SVN版本回滾的辦法
- 建立svn倉庫步驟(創業公司需要)創業
- CentOS 7.9中部署SVN(Subversion)服務CentOS
- 【4】版本控制系統SVN
- ubuntu centos搭建版本控制svnUbuntuCentOS
- 如何在本地計算機新增svn服務計算機
- 玩轉SVN-版本回退
- svn
- Linux(centos)搭建SVN倉庫LinuxCentOS
- svn和git版本管理優缺點Git
- 通過svn命令實現建立版本庫下的資料夾,並且可以操作訪問
- SVN管理是什麼?SVN安裝教程,SVN可以做什麼
- IDEA svn專案 更換SVN地址Idea
- 使用 SVN 搭建 Composer 私有倉庫
- svn部署
- SVN基本
- SVN用法
- 版本管理工具之Git 和SVNGit
- 115 svn: URL 'svn://132.232.108.38/think' doesn't exist
- 檢視已經建立的svn庫格式是 FSFS 還是 VDFS 的?
- linux下svn(subversion)服務端新增工程及配置許可權Linux服務端
- svn基本操作
- SVN的使用
- svn access to forBiddenORB
- SVN客戶端下載和SVN visual studio 外掛客戶端
- git與svn的區別面試Git面試
- 02 SVN 與 Git 的優缺點Git
- SVN程式碼倉庫主從同步方案主從同步
- hbuilderx整合集中式版本控制系統SVNUI
- SVN chechout failed: xxx is not valid as filename in directory svn檢出錯誤AI
- docker安裝svnDocker
- 第4課 SVN