IOS開發-關於代碼管理工具之SVN

最近在作的一個項目,就用到了代碼管理工具,那麼就對SCN進行了一個簡單的瞭解,即原理和一些經常使用命令。html

那麼咱們爲何須要使用SVN呢,咱們能夠吧SVN當成是一個備份服務器,他能夠幫你記住每次上傳到這個服務器的檔案內容,而且自動的賦予每次變動的一個版本。程序員

由於若是是團隊開發的話,版本管控是很是重要,你沒法保證你手頭上的版本永遠都是對的,對於團隊開發來講,數據同步很是重要,由於互相都須要各自的數據,因此SVN能夠幫你解決這個問題。服務器

   

  1.概述svn


SVN 是集中式源代碼管理工具

概念:
1> Repository   代碼倉庫,保存代碼的倉庫
2> Server       服務器,保存全部版本的代碼倉庫
3> Client       客戶端,只保存當前用戶的代碼倉庫
4> 用戶名&密碼   訪問代碼倉庫須要使用本身的"用戶名和密碼",從而能夠區分出不一樣的人對代碼作的修改

操做:
1> checkout     將服務器上最新的代碼倉庫下載到本地,"只須要作一次"
2> update       從服務器上將其餘人所作的修改下載到本地,"天天上班必需要作的事情"
3> commit       將工做提交到服務器,"天天下班以前至少作一次"

經常使用命令:

# 切換工做目錄
$ cd 經理的工做目錄
# checkout服務器上的代碼倉庫
$ svn co http://10.0.1.15/svn/weibo --username manager --password jingli

提示:checkout(co)以後,本地代碼庫中會記錄用戶名和密碼,後續操做不用再另行指定

02.    經理添加文件
================================================================================

* svn 經常使用命令
--------------------------------------------------------------------------------
# 查看本地代碼庫狀態
$ svn st
錯誤提示:"is not a working copy",必須在svn的工做目錄下才能正確使用svn的命令
# 查看svn日誌
$ svn log
# 查看某一個文件的日誌
$ svn log filename
# 查看某一個文件某個版本的日誌
$ svn log filename@1

* 建立文件
--------------------------------------------------------------------------------
# 切換到工做目錄
$ cd weibo
# 建立文件
$ touch main.c
# 打開並編寫文件內容
$ open main.c

* 將文件提交到服務器
--------------------------------------------------------------------------------
# 查看工做目錄狀態
$ svn st
# 將文件添加到本地版本庫中
$ svn add main.c
# 將文件提交到服務器的版本庫中
$ svn ci -m "添加了main.c文件"

"小結" - 添加文件的兩個步驟
--------------------------------------------------------------------------------
1>  將新建的文件添加到本地代碼庫
$ svn add main.c
2>  將剛剛添加的文件提交到服務器
$ svn ci -m "備註信息"

注意:必定要養成寫註釋的良好習慣

03.    團隊成員加入
================================================================================

1>  張三
$ svn co http://10.0.1.15/svn/weibo --username=zhangsan --password=zhang
2>  李四
$ svn co http://10.0.1.15/svn/weibo --username=lisi --password=li

"小結" 至此,一個項目的搭建工做就告一段落了
1> 項目準備工做,一般由項目經理完成
2> 程序員只須要把項目 co 到本地便可

提示:新入職一家公司後,別忘記讓經理分配 svn 的帳號和密碼

04.    張三添加文件
================================================================================

# 添加文件 Person.h Person.m
$ touch Person.h Person.m
# 修改 Person.h Person.m
$ open Person.h
$ open Person.m
# 將 Person.h Person.m 添加到本地代碼庫
$ svn add Person.*
# 將內容提交到服務器
$ svn ci -m "添加了Person類"

05. 刪除文件
================================================================================

# 刪除文件
$ svn rm Person.h
# 提交刪除
$ svn ci -m "刪除了文件"

注意:不要使用文件管理器直接刪除文件

06. 撤銷修改
================================================================================
$ svn revert Person.m

07. 恢復到以前的某個版本
================================================================================
$ svn up

08. 衝突解決
(p) postpone            對比
(mc) mine-conflict      使用個人
(tc) theirs-conflict    使用對方的

顯示的文件狀態:

第1列狀態說明:描述文件被添加、刪除或其餘修改
--------------------------------------------------------------------------------
' ' 沒有修改
'A' 被添加到本地代碼倉庫
'C' 衝突
'D' 被刪除
'I' 被忽略
'M' 被修改
'R' 被替換
'X' 外部定義建立的版本目錄
'?' 文件沒有被添加到本地版本庫內
'!' 文件丟失或者不完整(不是經過svn命令刪除的文件)
'~' 受控文件被其餘文件阻隔

2.工具介紹

  1.先下載Cornerstone,下載地址:http://www.cr173.com/mac/121625.html,

下載完以後打開以下圖進行操做:

第一步

  2.進行SVN配置:

SVN配置

  3.HTTP配置:

HTTP配置

​  4.上傳本地文件的方法:

第二步

  5.填寫好信息以後會出現以下圖所示:

第三步

  6.導入本地文件:

第四步

  7.而後選擇你想要導入的工程文件,導入便可,以下圖:

第五步

  8.導入以後,選中工程,點擊checkout導出項目,以下圖:

第六步 

  9.導出以後,就能夠在導出的項目裏面進行操做,以下圖:

第七步

  10.每次上傳代碼以前,須要先update,若是有衝突的話,解決衝突,而後commit提交到SVN上面,須要填寫一下更改日誌,以下圖:

第八步

  11.最後提交更新就行了,這樣就把你更改的代碼上傳到SVN管理工具裏面了,這樣在作項目的時候團隊成員每次只要在SVN裏面修改就能夠更新當前最新的版本。

 

  3.小結:工具

* 使用源代碼管理工具的好處:
# 能追蹤一個項目從誕生一直到定案的過程
# 記錄一個項目的全部內容變化
# 方便地查閱特定版本的修訂狀況

* 若是是團隊開發,使用源代碼管理工具是強制性的!
* 若是是單人開發,也強烈建議如今就開始使用源代碼管理工具

* 使用源代碼管理工具
# 因爲使用簡單,不會增長工做量
# 不會對現有工做形成任何損害(壞的影響)
# 是一位合格的軟件開發人員必須掌握的技術
post

相關文章
相關標籤/搜索