❝身為程式設計師的我們,還是應該多做做嘗試的。在寫rabbitmq時由於在虛擬機器操作,截圖不好截,為了給大家呈現更好的效果,所以就給大家寫一份宿主機跟虛擬機之間使用svn的操作流程。
❞
執行指令:yum install subversion
當然這個可以自訂目錄,看個人習慣 接著來到var/svn
目錄下,建立一個版本庫
執行指令svnadmin create /var /svn/kaka
,此時你的svn目錄下會存在一個blog的版本庫(其餘兩個檔案不用管,是後邊做svn管理多專案才會用到的)
# 進入到kaka
的版本庫var/svn/kaka/conf
#可以看到三個檔案
auth:控制權限的檔案 passwd:控制密碼的檔案 svnserve.conf:為svn的設定資訊 修改svnserve.conf設定訊息,紅色圈的都改就行。 接下來設定密碼,開啟檔案passwd
設定權限,這裡就是角色後邊跟上使用者設定的使用者名稱 然後將剛剛修改的passwd
和authz
檔案移到跟版本庫一個目錄下,執行指令mv passwd authz /var/svn
到這一步就完成了svn的安裝和配置,接下來說明宿主機器連接虛擬機器的svn
使用虛擬機器的一定要注意ip位址 宿主機先得需要有svn客戶端,這個安裝就不說了,next到底就ok。
開啟svn服務,執行指令svnserve -d -r /var/svn/
,並偵測是否開啟成功 宿主機器開始連接,位址就是虛擬機器的ip位址,帳號密碼就是admin 123456 即可 此時文件就已經克隆到本地了 測試上傳文件也成功 到這裡我們就svn在宿主機連接並且提交文件到svn就成功了。
由於是在虛擬機器喀喀沒有設定web目錄,直接就在/usr/local/nginx /html
下
將/var/svn/kaka/hooks
下的post-commit.tmpl
改為post-commit
執行指令mv post-commit.tmpl post-commit
並且權限給滿 修改post-commit
檔案裡邊的內容,但開啟檔案後就是一堆註釋,咔咔提示一個指令將這些全部刪掉
執行100 dd
即可,就是刪除100行的意思 並且添加一下內容
#!/bin/sh #设定环境变量,如果没有设定可能会出现update报错 export LANG='zh_CN.UTF-8' SVN_PATH=/usr/bin/svn WEB_PATH=/usr/local/nginx/html/kaka/ LOG_PATH=/tmp/svn_update.log $SVN_PATH update $WEB_PATH ~
保存退出,我們在本地在提交一個新文件,新建456.txt檔案提交 來到web目錄看有沒有檔案/usr/local/nginx/html
。
很明顯是沒有這個檔案的,別慌! 在/usr/local/nginx/html
這個目錄下在操作最後一步
執行指令:svn co --username admin --password 123456 svn:/ /192.168.254.135/kaka
,這時候我們宿主機的檔案就已經透過svn克隆到我們的虛擬機器了。 再到本地上傳一次,看是否可以直接到虛擬機器。
經過測試已經很ok了。
其實在上邊的截圖裡都看到了我的版本庫裡存在一個blog
的版本。
操作步驟跟kaka
的版本庫是一模一樣的。只不過直接把blog/conf
下的passwd
和authz
的檔案直接刪掉即可
也就是多個版本庫使用同一個權限和帳號密碼 同時給kaka和blog上傳一個258.txt 到這一步就把多項目使用同一個svn就搞定了。
為什麼需要設定這個使用者權限區分。
例如你傳程式碼到了svn,這時公司來了個新同事,他需要熟悉程式碼,但他只可拉取程式碼不能提交程式碼。
這個時候就需要進行使用者權限設定了。來整起
登入使用者new 這時候只有r權限 沒有w權限的new使用者是提交不了檔案的
以上是快看,虛擬機器跟宿主機之間竟然可以使用SVN的詳細內容。更多資訊請關注PHP中文網其他相關文章!