SVN:版本控制軟件
阿新 • • 發佈:2018-02-06
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
版本控制的核心:服務器--共享目錄
所有數據都有備份
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
- 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的意思是放後臺)
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 命令實現更新自己的本地
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:版本控制軟件