1. 程式人生 > >SVN:版本控制軟件

SVN:版本控制軟件

revert min 本地 過期 所有 inf word svn服務器 code

一.SVN:版本控制軟件(默認端口3690)(subversion)
版本控制的核心:服務器--共享目錄
所有數據都有備份
file:///abc/本地訪問
svn://192.168.4.5/abc 遠程訪問
1.裝包yum -y install subversion
2.創建mkdir /var/svn 共享目錄框架,此目錄不是真實共享目錄
3.創建真實共享目錄:svnadmin create /var/svn/project1
4.導入想要共享的內容:svn import . file:///var/svn/project1/ -m "註釋"
導入的數據不是明文顯示的,cd到目錄是無法看到的
5.本地使用這個命令查看:svn list file:///var/svn/project1

  1. vim svnserve.conf
    19 anon-access = none (匿名訪問不給任何權限)
    20 auth-access = write (認證訪問給讀的權限)
    27 password-db = passwd (指定密碼文件為passwd稍後要修改)
    34 authz-db = authz (指定控制權限的文件,稍後要修改)
    7.vim passwd
    tom = 123456
    harry = 123456
    8.vim authz
    [/]
    tom = rw
    harry = rw
    9.啟動服務(兩種方法)
    方法一:svnserve -d -r /var/svn/project/ (指定共享目錄發布,-d的意思是放後臺)
    方法二:systemctl start svnserver (把所有的共享目錄都發布出去)
    10.驗證
    客戶端:svn co --username tom --password 123456 svn://192.168.2.100/ code
    co(checkout)下載,從svn://192.168.2.100/下載共享目錄,並且自動放到本地code目錄(該目錄會自動創建)
    11.cd到code 客戶端任意修改一個文件,再上傳文件
    命令:svn ci -m "註釋" (ci是上傳 ,這個上傳會自動識別那個文件改變了,只把改變的文件上傳上去)
    12.如果服務器上的文件有被更新,客戶端可以通過:svn update 命令實現更新自己的本地
    13.可以同過以下命令查看vsn的文件更新log;
    svn log svn://192.168.2.100
    svn info svn://192.168.2.100
    14.客戶端自己新建文件後通過以下上傳到svn服務器
    vim 11.sh (直接創建,不受svn管理)
    svn add 11.sh (給到svn管理)
    svn ci -m "註釋" (上傳文件)
    15.客戶端實現新建目錄,重命名,復制操作;
    svn mkdir abc
    svn mv 11.sh 22.sh
    svn cp xx.sh zz.sh
    svn rm zz.sh
    svn ci -m "註釋" 最後上傳文件
    16.對比本地和服務器的差別
    svn diff
    svn diff 文件名
    svn cat svn://192.168.2.100/wenjian
    17.數據還原:
    1)本地修改了一個文件,但未提交
    svn revert 11.txt
    2)本地修改了,而且也提交了[6]
    svn merge -r6:5 11.txt
    3)本地修改了,而且也提交了(第二種)
    svn -r5 co svn://192.168.1.100 code2
    18.多人協同
    1)修改不同的文件
    互不影響,最後各自更新各自的
    2)修改相同文件的不同行;
    先上傳的不受影響,後上傳的提示過期,要svn update,這個時後文件會自動和並,然後在上傳服務;
    3)修改相同文件的相同行
    會產生沖突,需人員協同;,修改後的文件會生成多個版本,協商後把多於的刪除,然後提交服務器
    19.備份服務器
    svnadmin dump /var/snv/project1/ > my.bak
    20.還原服務器
    svnadmin load /var/snv/project2/ < my.bak

SVN:版本控制軟件