22.1 代碼管理平臺介紹
要了解的常識
版本控制,記錄若干文件內容變化,以便將來查閱特定版本修訂情況
版本管理工具發展簡史,cvs svn git 參考http://luckypoem14.github.io/test/2012/04/24/scm-history/
svn全稱subversion,是一個開源版本控制系統,始於2000年
git是linux創始人linus發起的,2005年發佈,最初目的是更好管理linux內核代碼
git和svn不同在於git不需要依賴服務端就可以工作,即git是分佈式的
關於git和svn的比較大家參考http://blog.lishiming.net/?p=305
github是基於git的在線web頁面代碼託管平臺,可以選擇付費服務
gitlab可以認爲是一個開源的github,兩者沒有直接關係
22.2 安裝svn
1 安裝svn
yum install -y subversion
2 創建版本庫 (可以理解爲項目)
mkdir -p /data/svnroot/myproject
3 初始化版本庫
svnadmin create /data/svnroot/myproject
ls -la !$ ls -la /data/svnroot/myproject 總用量 8 drwxr-xr-x 6 root root 86 12月 3 14:50 . drwxr-xr-x 3 root root 23 12月 3 14:49 .. drwxr-xr-x 2 root root 54 12月 3 14:50 conf drwxr-sr-x 6 root root 233 12月 3 14:50 db -r--r--r-- 1 root root 2 12月 3 14:50 format drwxr-xr-x 2 root root 231 12月 3 14:50 hooks drwxr-xr-x 2 root root 41 12月 3 14:50 locks -rw-r--r-- 1 root root 229 12月 3 14:50 README.txt
4 vim authz //配置文件改爲如下
vim authz [groups] admins=kevin,user1 [/] @admins=rw *=r [myproject:/] user1=rw
解釋:
第一種形式
groups
項目,針對項目下面進行設行權限設置
admins kevin,user1
組名:admins
組用戶:kevin,user1
/
目錄,這裏的目錄指的是剛剛初始化的目錄,那就是:/data/svnroot/myproject
也可以子目錄管理模式:[/dir1][/dir1/dir2]
@admins rw
admins只可以擁有rw權限,
* r
*表示所有,這個配置的意思是所有
第二種形式
myproject:/
myproject是項目的名稱
這種情況用在/svnroot 有多個項目的情況下,如果只有一個項目,就用第一種。
user1 rw
user1是rw形式
5 設置密碼
vim //加入如下內容userskevin kevin_*user1 user1_^^^123 user2 user2-***123