源代碼管理工具SVN的日常使用

? ? 目前,我國的公司使用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. 分支演練

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容