標籤:
01. SVN介紹
SVN 是集中式原始程式碼控制工具
概念:
1> Repository 代碼倉庫,儲存代碼的倉庫
2> Server 伺服器,儲存所有版本的代碼倉庫
3> Client 用戶端,只儲存目前使用者的代碼倉庫
4> 使用者名稱&密碼 存取碼倉庫需要使用自己的"使用者名稱和密碼",從而可以區分出不同的人對代碼做的修改
操作:
1> checkout 將伺服器上最新的代碼倉庫下載到本地,"只需要做一次"
2> update 從伺服器上將其他人所做的修改下載到本地,"每天上班必須要做的事情"
3> commit 將工作提交到伺服器,"每天下班之前至少做一次"
02. SVN伺服器安裝 Visual SVN Server
提示:一般程式員是沒有機會安裝SVN伺服器的,以下內容僅供瞭解伺服器上的安裝及配置過程
* Visual SVN Server 是運行在windows作業系統上的,整合了Subversion和Apache
* 傻瓜式安裝一步到位,並提供了圖形化介面,安裝簡單配置方便
* :http://www.visualsvn.com/server/download/
1> 安裝
* 程式目錄
* 代碼倉庫目錄
2> 添加代碼倉庫"weibo"
* 測試時暫時不勾選預設結構(trunk, branches, tags),但是當在做項目中要勾選
3> 添加使用者
# 使用者名稱 口令
# manager manager
# zhangsan zhangsan
# lisi lisi
4> 添加群組,通過群組可以一次性設定多個使用者對代碼倉庫的存取權限,便於管理
03.Unix常用命令
1> 顯示隱藏檔案夾
# 顯示隱藏檔案
$ defaults write com.apple.finder AppleShowAllFiles Yes && killall Finder
# 不顯示隱藏檔案
$ defaults write com.apple.finder AppleShowAllFiles No && killall Finder
2> SVN基本命令
命令列格式:
svn <subcommand> [options] [args]
說明
svn 子命令 [選項] [參數]
提示:
# [中括弧]中包含的內容是可選的
# (子命令縮寫)
3> 查看協助資訊
$ svn help
查看svn所有命令的協助
$ svn help 子命令
4> UNIX常用命令(UNIX常用命令.m)
1. cd 改變工作目錄
2. pwd 輸出當前工作目錄的絕對路徑
在UNIX中要執行什麼命令,一定要知道自己當前所在的工作目錄
3. $ ls 查看檔案
$ ls 顯示檔案
$ ls -a 顯示所有檔案
$ ls -l 列表顯示檔案
$ ls -la 列表顯示所有檔案
4. touch 用於變更檔訪問和修改時間的標準UNIX程式,也被用於建立新檔案
$ touch test.txt
注意:touch不修改test.txt內容,只更改它的訪問、修改時間,如果test.txt不存在,它會被建立
5. cat 連續查看檔案內容
6. more 分頁查看檔案內容
04. SVN在命令下操作流程
01. 將伺服器檔案下載到本地
# 切換工作目錄
$ cd 經理的工作目錄
# checkout伺服器上的代碼倉庫
$ svn co http://192.168.1.103/svn/weibo --username=manager --password=manager
提示:checkout(co)之後,命令列會記錄使用者名稱和密碼,後續操作不用再另行指定
02. 經理添加檔案
* svn 常用命令
--------------------------------------------------------------------------------
# 查看本地程式碼程式庫狀態
$ svn st
錯誤提示:"is not a working copy",必須在svn的工作目錄下才能正確使用svn的命令
# 查看svn日誌
$ svn log
# 查看某一個檔案的日誌
$ svn log filename
# 查看某一個檔案某個版本的日誌
$ svn log [email protected]
* 建立檔案
--------------------------------------------------------------------------------
# 切換到工作目錄
$ cd weibo
# 建立檔案
$ touch main.c
# 開啟並編寫檔案內容
$ open main.c
* 將檔案提交到伺服器
--------------------------------------------------------------------------------
# 查看工作目錄狀態
$ svn st
# 將檔案添加到本地版本庫中
$ svn add main.c
# 將檔案提交到伺服器的版本庫中
$ svn ci -m "添加了main.c檔案"
03. 團隊成員加入
1> 張三
$ svn co http://10.0.1.15/svn/weibo --username=zhangsan --password=zhangsan
2> 李四
$ svn co http://10.0.1.15/svn/weibo --username=lisi --password=lisi
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 update -r 5
$ svn up
08. 衝突解決
(p) postpone 對比
(mc) mine-conflict 使用我的
(tc) theirs-conflict 使用對方的
05. SVN檔案狀態
‘ ‘ 沒有修改
‘A‘ 被添加到本地代碼倉庫
‘C‘ 衝突
‘D‘ 被刪除
‘I‘ 被忽略
‘M‘ 被修改
‘R‘ 被替換
‘X‘ 外部定義建立的版本目錄
‘?‘ 檔案沒有被添加到本地版本庫內
‘!‘ 檔案丟失或者不完整(不是通過svn命令刪除的檔案)
‘~‘ 受控檔案被其他檔案阻隔
06. SVN圖形化工具CornerStone上的操作流程
01. 安裝CornerStone
02. 具體操作
1> 添加遠程代碼倉庫
2> 匯出程式碼程式庫到本地
3> 在本地目錄下使用Xcode建立項目
注意:不要勾選 git,兩套原始程式碼控制同時存在會發生衝突
4> 提交到代碼倉庫
5> 其他使用者操作
03. 忽略一些不需要上傳的檔案
04. 目錄規範
1> Trunk
目前項目正在開發的版本
通常進入公司之後在該目錄下開發
2> Tags
存放已經上線的重大版本
3> Branches
當發生重大bug或者有新需求時
iOS原始程式碼控制svn