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