[2009.02.17] 更新
產來在判斷是否有新增資料或是修改資料時,會自動略過*.o的檔案,不過,執行檔就不會了略過
[2009.02.05]更新
google code容量變大了很多,由原來的100mb增至2048mb,單個文件也由20mb增至40mb。好high啊!!
當程式越寫越大時,這個時候就需要一個系統來控制你寫的版本~
尤其是當多個人同時在寫一個系統的時候,這個版本控制就顯得格外的重要~
概念可以參考這裡版本控制系統的基礎觀念
今天也不知道為什麼就想到版本控制的東西,這個應該就是李文雄老師說的蘊釀吧~
不過,應該會對我寫程式有很大的幫助~
所以,今天就先來研究如何使用版本控制的系統吧~
1. 先到Google的Project Hosting註冊吧~
2. 並且依用 Subversion 跟 Google Code 作版本控制 (一)建立一個新的project吧~我這裡的示範project是goodmorn,那當然啦~我的帳號是superporter2001,在這一個網址
http://code.google.com/p/XXX/source/checkout
其中XXX的部分就是專案的名稱,目前這一個例子的專案名稱是goodmorn
可以了解google提供的url
3. 在client端安裝svn client吧
[root@host ~]# apt-get install subversion subversion-tools
4. 第一次把server上的目錄下載下來,google在Source-Checkout有提示指令(這裡要注意的是,它要你輸入的密碼不是你google的密碼,而是要去左上角的Setting裡面有一組密碼哩~)
[root@host ~]# svn checkout https://goodmorn.googlecode.com/svn/trunk/ goodmorn --username superporter2001
5. 這一個時候會在目前的目錄下新增一個檔案goodmorn,然後,我們試著在goodmorn下新增一個檔案testfile.txt,並把它加入準備要上傳的schedule中
[root@host ~]# touch goodmorn/testfile.txt
[root@host ~]# svn add goodmorn/testfile.txt
6. 然後,我們準備上傳我們修改好的檔案
[root@host ~]# svn commit goodmorn
7. 噹噹~進入server後,會出現剛剛修改的檔案哩~
8. 今天再繼續研究其它參數吧~反正,有問題就打以下指令
[root@host ~]# svn help
若要查比較詳細的資料可以打以下指令,例如要查svn add
[root@host ~]# svn help add
如果我現在有9個版本,我要取得第二個的話就打以下指令
[root@host ~]# svn checkout -r 2 https://goodmorn.googlecode.com/svn/trunk/ goodmorn --username superporter2001
svn指令索引
SVN 基本功能:
Import: 將整個 project_directory 的資料 import 進 svn 裡面
- svn import project_directory http://DOMAIN/svn_project
- svn import project_directory file:///SVN_PATH/svn_project
Checkout: (checkout 可簡寫成 co), 將資料 checkout 回來
- svn co http://SVN_PATH/svn_project
- svn co file:///SVN_PATH/svn_project
- svn co -r 12 file:///var/lib/svn/dev/projects # 出第12版的 projcets code
List: (list 可簡寫成 ls), 看上面有哪些檔案/資料
- svn ls http://SVN_PATH/svn_project
- svn ls file:///SVN_PATH/svn_project
Update: (update 可簡寫成 up), 將目前資訊更新成 SVN 線上最新版本.
- SVN_CHECKOUT_DIR$ svn up
- SVN_CHECKOUT_DIR$ svn ci
- SVN_CHECKOUT_DIR$ svn st
- SVN_CHECKOUT_DIR$ svn add filename 或 svn add directory
- SVN_CHECKOUT_DIR$ svn mv filename new_filename
- SVN_CHECKOUT_DIR$ svn revert [file | directory]
SVN 檔案狀態資訊:
- ?: 此檔案不存在 SVN 裡面
- A: 此次新增的檔案
- C: 此檔案已經有人改過, 合併不成功, 需要人工介入
- D: 此次移除的檔案
- M: 此檔案有修改過
- U: 此檔案有被更新過
參考資料:
用 Subversion 跟 Google Code 作版本控制 (一)
用 Subversion 跟 Google Code 作版本控制 (二)
維基百科 - 版本控制
O'Reilly - 版本控制
版本控制系統的基礎觀念
版本控制系統(svn) - client版本
SVN基本指令教學
SVN教學
沒有留言:
張貼留言