? ? 目前,我國的公司使用SVN的還是占據(jù)一大部分,現(xiàn)將SVN真正在開發(fā)中能使用到的知識總結(jié)如下.
UNIX常用命令
1.? cd? ? ? 改變工作目錄
2.? pwd? ? 輸出當(dāng)前工作目錄的絕對路徑
在UNIX中要執(zhí)行什么命令,一定要知道自己當(dāng)前所在的工作目錄
3.? ls? ? ? 查看文件
$ ls? ? ? ? 顯示文件
$ ls -a? ? 顯示所有文件
$ ls -l? ? 列表顯示文件
$ ls -la? ? 列表顯示所有文件
$ ls -G? ? 帶顏色顯示
4.? touch? 用于更改文件訪問和修改時間的標(biāo)準(zhǔn)UNIX程序,也被用于創(chuàng)建新文件
$ touch myfile.txt
注意:touch不修改myfile.txt內(nèi)容,只更改它的訪問、修改時間,如果myfile.txt不存在,它會被創(chuàng)建
5.? cat? ? 連續(xù)查看文件內(nèi)容
6.? more? ? 分頁查看文件內(nèi)容
提示:
1>? 命令和參數(shù)之間需要添加空格
2>? 如果要使用當(dāng)前目錄中的文件名,輸入到一半時,按TAB鍵能夠補(bǔ)全
01. 將服務(wù)器文件下載到本地
================================================================================
# 切換工作目錄
$ cd 經(jīng)理的工作目錄
# checkout服務(wù)器上的代碼倉庫
$ svn co http://10.0.1.15/svn/weibo --username manager --password jingli
提示:checkout(co)之后,本地代碼庫中會記錄用戶名和密碼,后續(xù)操作不用再另行指定
02. 經(jīng)理添加文件
================================================================================
* svn 常用命令
--------------------------------------------------------------------------------
# 查看本地代碼庫狀態(tài)
$ svn st
錯誤提示:"is not a working copy",必須在svn的工作目錄下才能正確使用svn的命令
# 查看svn日志
$ svn log
# 查看某一個文件的日志
$ svn log filename
# 查看某一個文件某個版本的日志
$ svn log filename@1
* 創(chuàng)建文件
--------------------------------------------------------------------------------
# 切換到工作目錄
$ cd weibo
# 創(chuàng)建文件
$ touch main.c
# 打開并編寫文件內(nèi)容
$ open main.c
* 將文件提交到服務(wù)器
--------------------------------------------------------------------------------
# 查看工作目錄狀態(tài)
$ svn st
# 將文件添加到本地版本庫中
$ svn add main.c
# 將文件提交到服務(wù)器的版本庫中
$ svn ci -m "添加了main.c文件"
"小結(jié)" - 添加文件的兩個步驟
--------------------------------------------------------------------------------
1>? 將新建的文件添加到本地代碼庫
$ svn add main.c
2>? 將剛剛添加的文件提交到服務(wù)器
$ svn ci -m "備注信息"
注意:一定要養(yǎng)成寫注釋的良好習(xí)慣
03. 團(tuán)隊(duì)成員加入
================================================================================
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
"小結(jié)" 至此,一個項(xiàng)目的搭建工作就告一段落了
1> 項(xiàng)目準(zhǔn)備工作,通常由項(xiàng)目經(jīng)理完成
2> 程序員只需要把項(xiàng)目 co 到本地即可
提示:新入職一家公司后,別忘記讓經(jīng)理分配 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.*
# 將內(nèi)容提交到服務(wù)器
$ svn ci -m "添加了Person類"
05. 刪除文件
================================================================================
# 刪除文件
$ svn rm Person.h
# 提交刪除
$ svn ci -m "刪除了文件"
注意:不要使用文件管理器直接刪除文件
06. 撤銷修改
================================================================================
$ svn revert Person.m
07. 恢復(fù)到之前的某個版本
================================================================================
$ svn up
08. 沖突解決
(p) postpone? ? ? ? ? ? 對比
(mc) mine-conflict? ? ? 使用我的
(tc) theirs-conflict? ? 使用對方的
svn st 顯示的文件狀態(tài)
第1列狀態(tài)說明:描述文件被添加、刪除或其他修改
' ' 沒有修改
'A' 被添加到本地代碼倉庫
'C' 沖突
'D' 被刪除
'I' 被忽略
'M' 被修改
'R' 被替換
'X' 外部定義創(chuàng)建的版本目錄
'?' 文件沒有被添加到本地版本庫內(nèi)
'!' 文件丟失或者不完整(不是通過svn命令刪除的文件)
'~' 受控文件被其他文件阻隔
Xcode具體演練
01. 安裝CornerStone
================================================================================
02. 具體操作
================================================================================
1>? 添加遠(yuǎn)程代碼倉庫
2>? 到處代碼庫到本地
3>? 在本地目錄下使用Xcode新建項(xiàng)目
注意:不要勾選 git,兩套源代碼管理同時存在會發(fā)生沖突
4>? 升級SVN版本庫
5>? 退出Xcode
6>? 在CornerStone中忽略個人用戶文件"xcuserdata",否則每次都要提交,非常繁瑣!
提示:xcuserdata目錄中為保留用戶上次打開的文件,調(diào)試設(shè)置的斷點(diǎn)等信息
7>? 在CornerStone中提交項(xiàng)目
8>? 其他用戶操作
03. SVN演練
================================================================================
1>? 修改文件
2>? 修改Storyboard
3>? 合并沖突(僅在兩個人同時修改一行代碼時,才會出現(xiàn)沖突)
04. 多Storyboard
================================================================================
1>? 多Storyboard在項(xiàng)目開發(fā)中的應(yīng)用技巧
2>? 自動布局小結(jié)
界面上任何一個控件,都可以"參照"其他控件的位置準(zhǔn)確定位位置
通過自動布局的約束,能夠設(shè)置出控件的frame => x, y, width, height
Xcode 6中很多控件的 x,y 值可以省略
在Storyboard中使用自動布局的技巧
(1)? ? 先擺好所有控件的所在位置
(2)? ? 通過Pin設(shè)置控件與其他控件的"參照"位置
(3)? ? 通過Align設(shè)置控件與其他空間的"參照"對齊方式
(4)? ? 盡量把一組相關(guān)的控件包裝在子視圖內(nèi),這樣在設(shè)置自動布局時,只需要指定大的子視圖之間的約束關(guān)系就可以了
自動布局中的錯誤信息
紅色錯誤:如果指定的約束不完整->不能準(zhǔn)確定位視圖位置
黃色警告:如果指定的約束定位的位置,與控件在Storyboard的實(shí)際擺放位置不一致,會提示警告信息
05. 分支演練