詳解在Mac下Subversion使用文檔
在Mac下Subversion使用文檔是本文要介紹的內(nèi)容,先來(lái)了解Subversion,它是一個(gè)非常好的版本控制系統(tǒng),利用它可以對(duì)項(xiàng)目?jī)?nèi)的文件進(jìn)行方便的管理和同步。不多說(shuō),來(lái)看詳細(xì)內(nèi)容。
1、創(chuàng)建版本庫(kù)
(1)到需要存放版本庫(kù)的地方(比如根目錄)
- mkdir -p /Library/Subversion/Repository
(2)創(chuàng)建版本庫(kù),名稱(chēng)以Project1演示
- svnadmin create /Library/Subversion/Repository/Project1
(3)創(chuàng)建svnserve 的骨架(包括trunk,branches,tags三個(gè)文件必須的)
- mkdir -p /tmp/Project1/trunk /tmp/Project1/branches /tmp/Project1/tags
(4)建立一個(gè)版本庫(kù)的拷貝測(cè)試一下
- svn import /tmp/Project1/ file:///Library/Subversion/Repository/Project1 -m "Initial import"
(5)測(cè)試完畢刪除這個(gè)拷貝
- rm -rf /tmp/Project1
(6)設(shè)置管理員用戶(hù)組
- sudo chown -R root:admin /Library/Subversion/Repository
(7)設(shè)置管理員用戶(hù)組權(quán)限(讀和寫(xiě))
- sudo chmod -R ug+rwX,o= /Library/Subversion/Repository
(8)在scm配置svn+ssh
host 是服務(wù)器的ip
(9)checkout,commit...等操作,但是在客戶(hù)端scm沒(méi)有commit,compare等選項(xiàng)。
>接下來(lái)在客戶(hù)端,點(diǎn)scm,在下拉列表里面選擇***一項(xiàng)(集體什么忘了)。
在打開(kāi)的頁(yè)面中選擇project ..&SCM那項(xiàng)(很長(zhǎng)也忘了)
點(diǎn)擊鏈接方式 subversion ,然后點(diǎn)擊ok完成。
現(xiàn)在客戶(hù)端就可以commit,compare..等功能了。
2、svn其他命令
- $ svn status(查看狀態(tài))
- $ svn update (進(jìn)行更新)
- $ svn log (查看日志)
- $ svn diff -r 1(1為版本號(hào),查看與某一版本的區(qū)別)
- $ svn update -r 1(更新到某一版本)
- $ svn add test2.txt (向版本庫(kù)中添加進(jìn)一個(gè)文件)
- $ svn delete test2.txt (向版本庫(kù)中刪除一個(gè)文件)(注:從版本庫(kù)中添加,刪除及重命名時(shí)必須帶svn命令,否則svn會(huì)跟蹤不到這些變化)
如果只是本地操作的話,上面介紹的就可以用了,但是一般版本控制需要放在服務(wù)器上,供多個(gè)用戶(hù)一起使用。subversion 服務(wù)器的建立可以使用Apache方式,也可以用自帶的svnserve方式。
(1)到版本庫(kù)SVNRep目錄下,conf文件夾下存放的就是配置文件
修改svnserve.conf:
- # [general]
- # password-db = passwd
改為:
- [general]
- password-db = passwd
這樣就會(huì)需要密碼才能登陸
然后修改同目錄的passwd文件,去掉下面三行的注釋?zhuān)?/p>
- # [users]
- # harry = harryssecret
- # sally = sallyssecret
***變成:
- [users]
- harry = harryssecret
- sally = sallyssecret
這里為配置用戶(hù)名及其對(duì)應(yīng)的密碼,也可以添加另外的用戶(hù)。
(2)啟動(dòng)服務(wù)器
- $ svnserve -d -r /Users/your_user_name/SVNrep
這樣svn服務(wù)器就會(huì)在后臺(tái)啟動(dòng)
(3)啟動(dòng)服務(wù)器后的import,checkout等操作和上面介紹的一樣,只是本地操作的話把地址改為svn://localhost/,并且按提示輸入你配置的用戶(hù)名和密碼就行。如果是其他主機(jī)登陸的話,只要把localhost換成對(duì)應(yīng)的要登陸的主機(jī)IP地址即可。
3、XCode中版本SVN的使用
配置 Subversion
XCode開(kāi)發(fā)工具中有關(guān)SCM選項(xiàng),可以在這里配置使用Subversion。
Xcode的項(xiàng)目文件中,并不是所有文件都適于加入SVN中進(jìn)行管理,比如編譯后的文件和編譯過(guò)程中產(chǎn)生的文件,這些文件不屬于源代碼,應(yīng)該告訴svn忽略掉,方法:
編輯 ~/.subversion/config 文件
(1). 找到 global-ignores 一行,去掉注釋?zhuān)庉嫵?/p>
- global-ignores = build *~.nib *.so *.pbxuser *.mode *.perspective* .DS_Store
Xcode項(xiàng)目文件中有些文件是文本文件,需要告訴SVN,因?yàn)镾VN能更好地管理文本文件
(2). 找到 enable-auto-props = yes 把注釋去掉,在[auto-props] Section聲明以下文本文件
- *.mode* = svn:mime-type=text/X-xcode
- *.pbxuser = svn:mime-type=text/X-xcode
- *.perspective* = svn:mime-type=text/X-xcode
- *.pbxproj = svn:mime-type=text/X-xcode
我們熟悉的Version Control在Xcode中叫做SCM(Software Configuration Management)
(3).然后選SCM -> Repositories 你就可以Import, Check Out你想要的內(nèi)容了,SVN的日常管理也可以在這里做。
(4).Checkout項(xiàng)目以后在你的項(xiàng)目的屬性中設(shè)置項(xiàng)目的SCM。打開(kāi)checkout至本機(jī)的工程,SCM->Configure SCM For This Project,然后為該工程選擇本地subversion。
(5).這時(shí)如果你修改了文件代碼,儲(chǔ)存后,修改的文件名左邊會(huì)多出一個(gè)M,如果沒(méi)有檢查一下SCM狀態(tài)是否Online。
(6).這時(shí)就可以右鍵選擇前面出現(xiàn)M標(biāo)記的行選擇Commit Changes提交修改,并且在出現(xiàn)的對(duì)話框里寫(xiě)上修改的記錄。
(7).如果是添加了文件,則會(huì)在前面出現(xiàn)?號(hào),這時(shí)要先選擇Add to Repository進(jìn)行添加操作,然后在Commit提交
(8).此時(shí)如果從版本庫(kù)中再checkout出來(lái)一份拷貝,就會(huì)包含修改過(guò)的內(nèi)容,和***的版本同步。并且還可以查看***版本和前面幾個(gè)版本間的差異。選擇 SCM->Compare With->Revision,然后選擇一個(gè)比較的版本就會(huì)獲得者兩個(gè)版本間的差異。
小結(jié):詳解在Mac下Subversion使用文檔的內(nèi)容介紹完了,希望通過(guò)本文的學(xué)習(xí),能對(duì)你有所幫助