1、如何遠程訪問svn 伺服器
方法有很多,最簡單的,就是你有一個外網伺服器,直接把SVN部署到外網上回。但是,我們現在既答沒有外網伺服器,也不能用內網伺服器做測試,也就是說,我要用本機,直接部署SVN 在外網訪問。也就是,本機就是伺服器。
首先你需要有一個自己的域名,然後埠映射SVN到域名上面,這樣就可以了。給你們分享一個獲取域名和埠映射的軟體。我個人用的就是花生殼,一個動態域名解析軟體。
2、怎麼在自己的電腦上使用SVN,需要安裝什麼伺服器?
SVN分客戶端和伺服器端,如果已經有SVN伺服器了(比如公司已經架設了SVN伺服器),那麼你電腦上只要裝客戶端就可以了,最常用的客戶端是TortoiseSVN,另外也有用於Eclipse的SVN插件,看你平時用SVN來做什麼了。
如果沒有伺服器端,那就要自己架設SVN伺服器,那麼你的電腦上就客戶端、伺服器端都要安裝,伺服器端推薦Collabnet 的SVN Edge版伺服器安裝包,相對而言安裝配置比較簡單,自帶伺服器管理控制台,而且免費。
看我的百度文庫,有SVN伺服器架設與SVN使用相關的文檔。
3、svn伺服器的代碼可以同步到伺服器嗎
開發過程中,需要經常將SVN伺服器上的代碼同步到測試伺服器上,一般做法,需要人工手工更新,這樣很浪費工夫。下面的腳本為svn server的鉤子程序,放在svn伺服器上,只要代碼更新,就會自動提交的測試伺服器上。
使用條件:
1、SVN主機是WIN系統,如果要在LINUX的SVN主機上用,需要修改下面的代碼為sh腳本,道理類似,代碼不同。有需要的自行更改吧。
2、SVN主機上需要安裝完整版的PUTTY安裝包,而不是一個EXE.
3、測試伺服器可以用putty登錄
@echo off
setlocal enableDelayedExpansion
rem 本腳本實現將SVN伺服器A(win環境)上提交的代碼,自動上傳(通過pscp)到測試環境的伺服器B(linux)上,如果SVN在LINUX環境下,根據本代碼自行調整。
rem svn伺服器上版本庫地址
set reposLoc=%1
set REV=%2
rem ---------------------------------------------------------------------- 配置開始
rem svn伺服器上putty的路徑
set puttyPath="D:Program Files (x86)PuTTY"
rem 測試環境putty登錄的用戶名
set username=root
rem 測試環境putty登錄的密碼
set password=password
rem 測試環境IP
set host=10.1.1.1
rem 測試環境代碼根地址
set remoteRootPath=/var/www/htdocs/test
rem ---------------------------------------------------------------------- 配置結束
cd /d %puttyPath%
rem 遍歷提交了的代碼
for /f "tokens=2 delims= " %%i in ('svnlook changed %reposLoc%') do (
set "var=%%i"
svnlook cat !reposLoc! !var! > temp.txt
rem 替掉路徑中的trunk
set newPath=!var:trunk=!
rem 通過pscp提交到測試伺服器
echo y | pscp -l !username! -pw !password! temp.txt !host!:!remoteRootPath!!newPath!
)
使用方法:
將上面的代碼中配置區的變數修改,並將內容保存成bat文件,命名為post-commit.bat,放在SVN伺服器上版本庫的hooks目錄下。提交代碼試試看吧。經測試可行。
當然,這個腳本可以再做的牛比點兒,可以針對某個用戶的提交做更新,也可以分析SVN提交時的日誌,只有當日誌中有特定的字元時更新。
另外,由於上面的腳本,只更新當前的提交,所以假設只針對某個用戶的提交做更新時,不能只更新當前提交,這樣其它用戶的提交就落掉了,需要更新整個工程。
4、SVN伺服器做遷移,如何做?
SVN項目,原本部署在10.10.13.48的電腦上,現在部門采購了一台更好的Server,IP為10.10.13.129。
所以,想把SVN項目從48上遷移到129上。做法:准備:
系統平台:windows server 2003
版本庫:vos
源伺服器:10.10.13.48
目標伺服器:10.10.13.129
源SVN版本庫的path: D:\svn\vos
要遷移到的path: E:\svn\vos步驟:
1.停止http服務,本文中用的是apache (源伺服器)(目標伺服器)
2.cd C:\Program Files\Subversion\bin(Subversion的安裝目錄)(源伺服器)---------進入源伺服器的svn安裝目錄
3.執行:svnadmin mp D:\svn\vos D:\svn\vos\vos.mp(源伺服器)
4.將vos.mp拷貝到目標伺服器的任何地方,如E:\vos.mp
5.cd C:\Program Files\Subversion\bin(目標伺服器)---------進入目標伺服器的svn安裝目錄
6.svnadmin create E:\svn\vos (目標伺服器)----------------創建目標SVN伺服器的vos項目
7.Svnadmin load E:\svn\vos < e:\vos.mp (目標伺服器。這個只是將源伺服器上導出的版本庫,導入到現在的伺服器上。)
5、怎樣打開svn 伺服器
windowns 下你可以通過TortoiseSVN 連接操作
6、SVN伺服器是什麼
一軟體,就是版本控制器,根據你的操作,記錄你的代碼更改和版本,方便以後的查詢,出錯還原和多人合作時等使用。
7、svn客戶端連接外網Svn伺服器
問題不在客戶端,這個關鍵是要在伺服器端的路由器上做埠映射,你要把那個公網IP對應的端(具體哪個埠要看你的SVN伺服器配置了)映射到那台SVN伺服器上去
例如公網IP是222.222.222.222,你的SVN伺服器主機所處的內網IP是192.168.1.111,SVN伺服器集成了apache,採用8080埠訪問,那麼就要在SVN伺服器所處的那個內網的路由器上進行配置,將公網IP222.222.222.222的8080埠映射到SVN主機192.168.1.111上去,這樣你訪問222.222.222.222:8080就等於訪問192.168.1.111:8080,這樣就能正常訪問了
8、如何配置svn伺服器
配置VisualServer
1
找到 Manager的快捷方式處,啟動VisualServer伺服器:
2
右鍵點擊Users,填入用戶名和密碼。用戶名設置為個人的姓名或其他的
3
創建Groups:右鍵點擊Groups,選擇Create Groups
這里是創建組的,可以設置成你的團隊或公司的名稱。這里我以自己的身份Student(學生)設置。之後點擊Add,可以看到上述你所創建的用戶名,點擊用戶名,點擊OK完成。
4
右鍵Repositories,輸入倉庫的名稱。這里你可以可以把自己的代碼歸類。這里我只是簡單歸為Java,另外我還寫C/C++,可以再設置一個Cpp,這里不再演示。之後點擊下一步
5
之後是配置倉庫結構,這里選擇的是默認,點擊Next下一步即可。如果你是建立個項目的話,可以選擇第二個選項
6
之後是配置倉庫的訪問許可權,這里我們點擊Custom...
7
之後,點擊Add
8
根據自己的需要,來相應的許可權這里有三種許可權:
Sepical :Everyone 是任何人都可以訪問的
Groups: 所有在組裡面的成員用戶都可以訪問
Users:單一的用戶可以訪問。
這里,我們只點擊maple即可,你也可以點擊你的Groups名,或Users名。之後點擊OK
9
之後點擊確認,其他默認即可了
10
之後,點擊Create,進行倉庫的創建
11
查看倉庫名稱,以及倉庫的訪問Url,還有相應的用戶許可權,如果無誤,點擊Finish
12
配置伺服器的訪問IP地址:
右鍵軟體啟動之後的界面,右鍵VisualSVN Server,並點擊Properties
13
點擊Network,並選中的These IP addresses
14
點擊Add,並填入127.0.0.1 ,點擊OK完成
15
之後點擊確定,VisualServer配置完成
END
驗證配置
打開瀏覽器,輸入:https://127.0.0.1:443
輸入賬戶和密碼看到如下結果,即表示你的伺服器運行正常
9、SVN伺服器??
可以的,如果你是在linux上使用命令行來操作的話
1、將文件checkout到本地目錄
svn checkout path(path是伺服器上的目錄)
例如:svn checkout svn://192.168.1.1/pro/domain
簡寫:svn co2、往版本庫中添加新的文件
svn add file
例如:svn add test.php(添加test.php)
svn add *.php(添加當前目錄下所有的php文件)3、將改動的文件提交到版本庫
svn commit -m "LogMessage" [-N] [--no-unlock] PATH(如果選擇了保持鎖,就使用–no-unlock開關)
例如:svn commit -m "add test file for my test" test.php
簡寫:svn ci