SVN是一個TEAM一起協作的利器。今天就來講講SVN的使用。
1.下載SVN(TortoiseSVN和VisualSVN),這個不用說了,直接上官網,另外記得一定要下載語言包。
2.安裝好了之后(記住,安裝的時候一定在磁盤里新建一個空的文件夾,還要確定是沒有“寫保護”的),界面應該還是英文的,鼠標右擊,選TortoiseSVN,進入常規設置,把語言改成中文就OK了。
3.進入VisualSVN,
"window+R",進入命令界面,cmd—ipconfig查看本機IP Address,端口用8088.這樣你就可以在瀏覽器中利用192.168.1.6:8088來訪問本地文件了。
成功之后的狀態會顯示IP地址。
4.創建用戶。如果TEAM有幾個成員就創建幾個帳號吧。同步本地文件夾。
將代碼復制到Apache的httpd.conf,重啟所有服務,即可實現Apache配置虛擬主機。
listen 8088 //端口
<VirtualHost *:8088> //端口
DocumentRoot "D:\web\e1215cms" //需要放到服務器上的本地文件夾
ServerName www2.ilinux.org
<Directory "D:\web\e1215cms"> //需要放到服務器上的本地文件夾
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
5.建立版本庫(Repository),
運行Subversion服務器需要首先要建立一個版本庫(Repository),可以看作服務器上存放數據的數據庫,在安裝了Subversion服務器之后,可以直接運行,如:
svnadmin create E:\svndemo\repository
就會在目錄E:\svndemo\repository下創建一個版本庫。
我們也可以使用TortoiseSVN圖形化的完成這一步:
在目錄E:\svndemo\repository下"右鍵->TortoiseSVN->Create Repository here...“, 然后可以選擇版本庫模式, 這里使用默認即可, 然后就創建了一系列目錄和文件。
6.配置用戶和權限
進到新建的庫,我們找到conf目錄,修改svnserve.conf:
# [general]
# password-db = passwd
改為:
[general]
password-db = passwd
然后修改同目錄的passwd文件,去掉下面三行的注釋:
# [users]
# harry = harryssecret
# sally = sallyssecret
最后變成:
[users]
harry = harryssecret
sally = sallyssecret
在passwd文件中,“=”前的字符就是用戶名,后面的就是密碼。還要注意“[users]”前面的注釋“#”一定要刪除掉。
7.基本客戶端操作
a. 如果更新文件以后,有兩個人或者多個人同時修改了某個文件的某個位置,是否沖突,(一般不會這樣子,因為上傳的版本是可以編譯通過的,而且每個人負責自己的模塊,不會多人獨立修改同一個文件,別人也是先更新,后上傳修改)
b.開發者習慣性動作。早上上班第一件事就是更新svn版本庫,再開始一天的工作。
c.晚上下班,或者其他時候要上傳東西可以直接上傳因為你負責的東西沒人去修改。
e.沖突是怎么產生的呢:因為不同的人,同時修改了同一個文件的同一個地方,這個時候,他提交了,你沒有提交,你就提交不了,這個時候,你要先更新,更新就會出現代碼沖突問題。最好不要多人同時修改一個文件,公用的文件,更改之前要和大家溝通一下,或者解決沖突
f.先更新,沒有沖突,再提交。有沖突,解決沖突再提交。否則也提交不了。
g.對於一些處於沖突狀態下的文件 ,右鍵TortoiseSVN ->Resolved,解決沖突。解決沖突: http://www.blogjava.net/jasmine214--love/archive/2011/04/07/347769.html
h.更新-解決沖突-刪掉以下三個文件-提交(如果自己沒有修改的文件有沖突,刪除再更新即可,自己修改的文件解決沖突)
下面我說一個,通用的解決沖突的辦法,還不會覆蓋代碼,以test.php為例 :
1,修改文件后提交不了,大多是因為版本不一致造成的。更新一下,不產生沖突的情況,就可以提交了。
2,更新文件,如果出現沖突的情況,打開沖突文件test.php會看到類似以下的內容
<<<<<<<<<<<<<<<
asdfadfadfadf
11111111111111
=======
asdfadfadfadf
111111111111111
222222222222
>>>>>>>>>>>>>>>>
結合別人修改的內容和自己修改的內容,然后把文件中的<<<<<,=====,>>>>>>>這類沖突符號去掉。去掉后,還是不能提交的,為什么?因為沖突時會產生三個文件,有這三個文件存在肯定提交不了。
i.客戶端用的tortoisesvn(這個估計程序員用的最多),沖突時會多產生,三個文件
test.php.mine 是沖突前自己的文件
test.php.版本號 是沖突前本地的版本文件
test.php.服務器的版本號 是沖突后服務器版本文件
提交的時候,把這三個文件刪除掉就可以提交了。
產生覆蓋的原因。
a),在修改沖突文件test.php時,把別人代碼都刪除掉了,只留下了自己的代碼。這樣就會產生覆蓋了。
b),把test.php.mine中的內容直接copy到test.php文件,這樣也會產生代碼覆蓋。
上面二種情況都是我親眼看到新手這樣操作的,要避免這二種操作方法。
9.接下來看看怎么設置瀏覽器版本。
上面要用svn協議。掛機寶主機地址:http://211.147.14.57:8989/svn/e1215cms_2/
出現錯誤的幾種可能性:
a.windows自帶的或用戶自己安裝的防火牆屏蔽了相應的端口
b.客戶端主機由於路由等原因無法連接到svn服務器主機
c.客戶端錯誤地配置了代理
d.服務端服務沒打開
10.輸入帳號密碼,連接服務器。接下來要關聯本地文件
(或者是新建一個文件夾,直接用svn 來Checkout,里面輸入主機地址后,直接輸入賬號密碼。)
友情鏈接:subversion中文站 http://www.subversion.org.cn
補充:路由器連接電腦,其他電腦如何訪問同一個數據庫呢?首先由需要修改共享數據庫的那台電腦的數據庫權限。
這里全選
安裝好Navicat_Premium_10.0.11.0_XiaZaiBa
連接數據時,用mysql_connect("192.168.9.57","futan","*******");