在xcode4的Organizer內有Repository的管理工具,如果從xcode新建一個project預設是會開一個local的repository出來的。這邊預設是用git,跟慣用的svn不太一樣。當然內建也是有支援svn的。
用過的人就會知道,svn有一點麻煩的地方是,它會在每一層的資料夾內建一個屬於svn的隱藏檔。在mac上就是.svn的檔案。
之前就有遇過,如果用eclipse作為開發環境(包括symbian與android),在build的時候eclipse會去砍掉gen跟bin的資料夾,然後再從src把資料夾階層複製過來。這樣一來原本gen裡面的.svn就會變成src裡面的.svn,然後就會造成svn軟體錯亂。所以在create svn的時候就要特別小心,不能把gen跟bin commit到svn裡面,當初就是因為這樣,還發生過幾次source全部消失的悲劇,不可不慎!
回到主題。既然現在xcode的local repository就有support git可以用,那當然就來用看看囉。git的設定檔只有在project的根目錄的.git資料夾,如果要砍應該也是非常簡單的。
當然,開發初期自己做一些小程式是沒什麼問題,xcode全部都takecare好了。
那如果今天拿到一份別人開發了一半的資料夾,那該怎麼辦呢?
xcode也十分人性,只要使用git指令先將repository開好之後,xcode就會自己加入Organizer內了。一切就如新開的project一般正常。
所需指令如下
$ cd [project_root]
$ git init
$ git add .
$ git commit -a -m "initial commit"
參考文獻: Managing Versions of Your Project 底下Add Git or Subversion Version Control to an Existing Project 一節
06/14 後記。
如果有一個project需要svn(server)與git(local)並存時,git也可以設定ignore某些檔案。
作法為,在project的根目錄建立".gitignore"檔案,該檔案內容為 ".svn"。
如此一來,在commit時就會自動ignore svn的相關設定檔了。
同理,在svn的tool內也應將.git以及.gitignore ignore,以免互相干擾。
0 Comments:
Post a Comment