歡迎您光臨本站 註冊首頁

svn學習筆記

←手機掃碼閱讀     火星人 @ 2014-03-03 , reply:0

    對SVN,個人在網上查了些資料,做了個粗略的學習,慢慢補充,以此記之。
    歡迎各位路過、看過的兄弟們提提意見。

系統:centos6.3 x86_64

1.SVN安裝
yum install httpd httpd-devel subversion mod_dav_svn //因為我以前已安裝apache,所以httpd httpd-devel此時沒裝

2.查看安裝的模塊
cd /etc/httpd/modules  //切換路徑
ls | grep svn  //查看安裝的模塊
   mod_authz_svn.so
   mod_dav_svn.so

3.查看安裝是否成功
svnserve --version  //如果能顯示版本號之類的,則安裝成功

4.建一個倉庫目錄(先切到了主目錄: cd ~)
mkdir -p svn/project //以後所有的倉庫都可以放入到這個裡面
svnadmin create --fs-type fsfs svn/project/python //創建了一個名為python的倉庫
ls svn/project/python //可看到


5.初始化倉庫目錄(將 ~/tmp/python目錄下的所有文件及目錄,導入創建,作為最初的文件)
svn import tmp/python file:///home/xxxx/svn/project/python --message "log 001" ## /home/xxxx/svn/project/python是倉庫的絕對路徑

6.查看創庫中的文件
svn list --verbose file:///home/xxxx/svn/project/python

7.配置這個倉庫
cd svn/project/python/conf
vim passwd  //在文件最後加增加htest用戶,密碼為123456


vim authz  //給用戶加許可權,在文件最後加上


vim svnserve.conf //配置訪問控制,在下面加


8.啟動服務
svnserve -d -r svn/project --listen-host 192.168.8.125
註:d  服務在後台運行
       r  後面是倉庫的根目錄,當我們在倉庫中用 "/"  根目錄時,實際上它等同於伺服器上的 svn/project這個目錄
       --listen-host x.x.x.x  監聽的伺服器IP
       --listen-port x  監聽的埠(如 --listen-port 999 ,則在以後連倉庫的時候,要加上埠號,默認為 3690)
      //可用 ps -ef | grep svn 查看服務是否已經啟動
另:無論是自己加的埠,還是默認的,都要配置
     sudo vim  /etc/sysconfig/iptables
     -A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT  //添加的內容
     sudo service iptables restart   //重啟防火牆


##### 以下是在客戶端的操作,可以找個圖形 化的客戶端,我的測試是在本機上,用命令行××××××××××

9.為倉庫創建一個本地目錄
mkdir test

10.同步伺服器上的文檔到本地
cd test
svn co svn://192.168.8.125/python  註:此處目錄已經直以伺服器上的 svn/project 為根目錄了,如果不是默認埠,則要加埠號,同步完成,則test目錄下,會有一個python目錄

11.更改文件
cd python
vim test.py
……
//加上自己的內容
svn diff  //可以查看自己更改了哪些,即與以前版本不同的地方

12.添加更改后的文件
svn add test.py
註:這只是添加到了本地的倉庫
      另外,除了單個文件外,也可也新建目錄,並在目錄中創建文件,然後一起加上去
      如: 在創建test目錄,並在其下建一個a.c文件
         mkdir test
         cd test
         echo "sadfsd " > a.c
         cd  ..
         svn add test //這會把整個文件夾及其下面的文件加入倉庫

13.將本地更改提交到伺服器
svn commit -m "002"


雜類:
1.svn status
可以查看本地新建的文件以及更改的文件有哪些,哪些是已經 add 到本地了(m表示),還有哪些是沒有的(?表示)

2.svn diff
可以查看本地更改后,並 add 到本地倉庫,但還沒有提交到伺服器的文件及目錄,其實它是自己更改后所有文件,與上次update到本地的版本進行比較的結果

3.svn log
可以查看所有的版本列表及log信息

4.svn update
本地把伺服器上的數據同步下來

5.svn revert -r xx
回退到 xx 這個版本,xx 這個號,可以從svn log顯示的列表中得到











[火星人 ] svn學習筆記已經有557次圍觀

http://coctec.com/docs/service/show-post-79.html