iOS SVN – iPhone手機開發 iPhone軟體開發教學課程

說來真是不好意思,做瞭這麼長時間的開發一直沒有使用svn。周圍的人都在使用,以前也學習過,但是在公司都是自已一個人開發,也沒有用。

現在還是來記一下吧:svn就是一個版本控制工具。
原理:
首先建立一個svn服務器,用於代碼的統一管理。開發者連接svn服務器提交、更新代碼。

從我學習過程開始填寫吧。
同事提供給我一個svn地址和一個賬號密碼。
我們第一件事就是把svn地址裡面的源碼給下載下來。
我們打開命令行工具terminal.
我們首先cd到我們放文件的目錄 這裡我們放在桌面。
這裡寫圖片描述
我們利用svn 將代碼下載到該目錄下
svn checkout +svnURL 這樣默認下載到當前路徑下
這裡寫圖片描述
這就表示下載完成瞭。在桌面上就有瞭ios_dm文件。

現在文件下載下來瞭,但是裡面是空的,沒有工程。我的工程在本地一直沒有用過svn。
我們想把自己的工程放到svn服務器上
首先將工程拖入到ios_dm/trunk目錄下。
然後執行命令 svn add iZ喎?/kf/ware/vc/” target=”_blank” class=”keylink”>vc19kbS90cnVuay+5pLPMzsS8/sP7PGJyIC8+DQo8aW1nIGFsdD0=”這裡寫圖片描述” src=”/uploadfile/Collfiles/20160423/20160423090224117.png” title=”\” />
會看到很多類似的打印。這表示已經填加到本地倉庫瞭。我們先在可以提交到svn服務器瞭。
svn commit -m “日志記錄”
這裡寫圖片描述
提交完成會輸出版本信息
這裡寫圖片描述
這表示已經提交成功。
在這我們的工程就算提交到服務器瞭。以後需要的話直接從服務器下載就行瞭。
我們在使用的時候也會遇到錯誤

我們來到公司的第一件事就是更新昨天提交的代碼。因為不隻自己在用,被人也在用。別人也提交瞭很多代碼。
來到目錄下
這裡寫圖片描述
來更新代碼
svn update
這裡寫圖片描述
更新到最新的代碼就開始寫工程瞭。
開發完每天的任務就是提交代碼瞭。當你svn commit 的時候胡出現
這裡寫圖片描述
當我們看到out of date的時候,我們要知道這是本地版本與服務器版本不符,也就是說在你提交之前,別人已經提交過瞭。你需要先從服務器上更新最近的代碼。
但是我們在update 的時候也會出現下面情況。這裡寫圖片描述
這就是我們說的沖突瞭。我們需要解決沖突。出現沖突的原因是因為多個人修改瞭相同文件的同一個地方。
從圖中我們可以發現有多種方案讓我們選擇
選擇: (p) 推遲,(df) 顯示全部差異,(e) 編輯,
(mc) 我的版本, (tc) 他人的版本,
(s) 顯示全部選項:
mc表示用我們本地的代碼,覆蓋服務器代碼。
tc 表示用服務器代碼,覆蓋本地代碼
p表示將服務器代碼和本地代碼全部放在一起手動解決。
df顯示差異
我們來輸入df看一下:這裡寫圖片描述
其中+<<<<<<< .mine到+=======中間的代碼 是我們本地的代碼
+=======到+>>>>>>> 是服務器代碼 .r5表示服務器代碼版本是5.
我們選p 再看本地文件會多出三個文件。這裡寫圖片描述
第一個文件是我們自己修改的文件副本,第二個是最初的文件副本,第三個是服務器最新版本的文件副本。
現在AdversModel.h文件我們打開會出現與上面打印差異相同的文字。
這裡寫圖片描述
我們手動將代碼修改一下。
修改完成
這裡寫圖片描述

我們需要提交一下沖突解決。
svn resolved 解決沖突的文件
這裡寫圖片描述
現在我們就可以重新提交瞭。
這裡寫圖片描述

在提交過程中出現瞭個小插曲:電腦突然死機瞭,我重啟瞭一下,出現瞭下面情況。
這裡寫圖片描述
異常提交,存在沖突的殘留。
現在我們需要先解決殘留問題。
這裡寫圖片描述

我們通過svn log 指令來獲取版本信息
這裡寫圖片描述

我們有時候或許需要轉換到以前的版本。
使用svn update -r 4 4代表第4個版本
這裡寫圖片描述

當我們不小心刪除或者想把文件撤回到原來狀態的時候使用
svn revert 文件名

svn status 來查看svn的狀態
’ ’ 沒有修改
‘A’ 被添加到本地代碼倉庫
‘C’ 沖突
‘D’ 被刪除
‘I’ 被忽略
‘M’ 被修改
‘R’ 被替換
‘X’ 外部定義創建的版本目錄
‘?’ 文件沒有被添加到本地版本庫內
‘!’ 文件丟失或者不完整(不是通過svn命令刪除的文件)
‘~’ 受控文件被其他文件阻隔

我們在使用svn過程中一定要使用svn help
當我們的某個命令不會使用的時候我們使用svn help 指令

發佈留言