在Mac下Subversion使用文檔是本文要介紹的內容,先來瞭解Subversion,它是一個非常好的版本控制系統,利用它可以對項目內的檔案進行方便的管理和同步。不多說,來看詳細內容。
1、建立版本庫
1)到需要存放版本庫的地方比如根目錄)
- mkdir -p /Library/Subversion/Repository
2)建立版本庫,名稱以Project1示範
- svnadmin create /Library/Subversion/Repository/Project1
3)建立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)設定管理使用者組
- sudo chown -R root:admin /Library/Subversion/Repository
7)設定管理使用者組許可權讀和寫)
- sudo chmod -R ug+rwX,o= /Library/Subversion/Repository
8)在scm配置svn+ssh
host 是伺服器的ip
9)checkout,commit...等操作,但是在用戶端scm沒有commit,compare等選項。
>接下來在用戶端,點scm,在下拉式清單裡面選擇最後一項集體什麼忘了)。
在開啟的頁面中選擇project ..&SCM那項很長也忘了)
點選連結方式 subversion ,然後點擊ok完成。
現在用戶端就可以commit,compare..等功能了。
2、svn其他命令
- $ svn status查看狀態)
- $ svn update (進行更新)
- $ svn log 查看日誌)
- $ svn diff -r 11為版本號碼,查看與某一版本的區別)
- $ svn update -r 1更新到某一版本)
- $ svn add test2.txt 向版本庫中添加進一個檔案)
- $ svn delete test2.txt 向版本庫中刪除一個檔案)註:從版本庫中添加,刪除及重新命名時必須帶svn命令,否則svn會跟蹤不到這些變化)
如果只是本地操作的話,上面介紹的就可以用了,但是一般版本控制需要放在伺服器上,供多個使用者一起使用。subversion 伺服器的建立可以使用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
這裡為配置使用者名稱及其對應的密碼,也可以添加另外的使用者。
2)啟動伺服器
- $ svnserve -d -r /Users/your_user_name/SVNrep
這樣svn伺服器就會在後台啟動
3)啟動伺服器後的import,checkout等操作和上面介紹的一樣,只是本地操作的話把地址改為svn://localhost/,並且按提示輸入你配置的使用者名稱和密碼就行。如果是其他主機登陸的話,只要把localhost換成對應的要登陸的主機IP地址即可。
3、XCode中版本SVN的使用
配置 Subversion
XCode開發工具中有關SCM選項,可以在這裡配置使用Subversion。
Xcode的專案檔中,並不是所有檔案都適於加入SVN中進行管理,比如編譯後的檔案和編譯過程中產生的檔案,這些檔案不屬於原始碼,應該告訴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中叫做SCMSoftware Configuration Management)
3).然後選SCM -> Repositories 你就可以Import, Check Out你想要的內容了,SVN的日常管理也可以在這裡做。
4).Checkout項目以後在你的項目的屬性中設定項目的SCM。開啟checkout至原生工程,SCM->Configure SCM For This Project,然後為該工程選擇本地subversion。
5).這時如果你修改了檔案代碼,儲存後,修改的檔案名稱左邊會多出一個M,如果沒有檢查一下SCM狀態是否Online。
6).這時就可以右鍵選擇前面出現M標記的行選擇Commit Changes提交修改,並且在出現的對話方塊裡寫上修改的記錄。
7).如果是添加了檔案,則會在前面出現?號,這時要先選擇Add to Repository進行添加操作,然後在Commit提交
8).此時如果從版本庫中再checkout出來一份拷貝,就會包含修改過的內容,和最新的版本同步。並且還可以查看最新版本和前面幾個版本間的差異。選擇 SCM->Compare With->Revision,然後選擇一個比較的版本就會獲得者兩個版本間的差異。
小結:詳解在Mac下Subversion使用文檔的內容介紹完了,希望通過本文的學習,能對你有所協助