PPT
概述
Snip20170411_73.png
Snip20170411_74.png
Snip20170411_75.png
Snip20170411_76.png
SVN的學(xué)習(xí)
Snip20170411_77.png
Snip20170411_78.png
Snip20170411_79.png
Snip20170411_80.png
Snip20170411_81.png
Snip20170411_82.png
Snip20170411_83.png
Snip20170411_84.png
Snip20170411_85.png
Snip20170411_86.png
Snip20170411_87.png
Snip20170411_88.png
Snip20170411_89.png
Snip20170411_90.png
Snip20170411_91.png
Snip20170411_92.png
Snip20170411_93.png
Snip20170411_94.png
Snip20170411_95.png
Snip20170411_96.png
Snip20170411_97.png
Snip20170411_98.png
Snip20170411_99.png
Snip20170411_100.png
Snip20170411_101.png
Snip20170411_102.png
Snip20170411_103.png
Snip20170411_104.png
Snip20170411_105.png
Snip20170411_106.png
Snip20170411_107.png
Snip20170411_108.png
Snip20170411_109.png
Snip20170411_110.png
Snip20170411_111.png
Snip20170411_112.png
Snip20170411_113.png
Snip20170411_114.png
Snip20170411_115.png
Snip20170411_116.png
Snip20170411_117.png
Snip20170411_118.png
Snip20170411_119.png
Snip20170411_120.png
Snip20170411_121.png
Snip20170411_122.png
Xmind
SVN.jpg
筆記
上課筆記
SVN1.jpg
SVN2.jpg
SVN3.jpg
備課筆記
01. 源代碼管理工具概述(PPT)
================================================================================
* 源代碼管理工具的作用:
# 能追蹤一個(gè)項(xiàng)目從誕生一直到定案的過(guò)程
# 記錄一個(gè)項(xiàng)目的所有內(nèi)容變化
# 方便地查閱特定版本的修訂情況
* 如果是團(tuán)隊(duì)開發(fā),使用源代碼管理工具是強(qiáng)制性的!
* 如果是單人開發(fā),也強(qiáng)烈建議現(xiàn)在就開始使用源代碼管理工具
* 使用源代碼管理工具
# 由于使用簡(jiǎn)單,不會(huì)增加工作量
# 不會(huì)對(duì)現(xiàn)有工作造成任何損害(壞的影響)
# 是一位合格的軟件開發(fā)人員必須掌握的技術(shù)
02. SVN介紹(PPT)
================================================================================
SVN 是集中式源代碼管理工具
概念:
1> Repository 代碼倉(cāng)庫(kù),保存代碼的倉(cāng)庫(kù)
2> Server 服務(wù)器,保存所有版本的代碼倉(cāng)庫(kù)
3> Client 客戶端,只保存當(dāng)前用戶的代碼倉(cāng)庫(kù)
4> 用戶名&密碼 訪問(wèn)代碼倉(cāng)庫(kù)需要使用自己的"用戶名和密碼",從而可以區(qū)分出不同的人對(duì)代碼做的修改
操作:
1> checkout 將服務(wù)器上最新的代碼倉(cāng)庫(kù)下載到本地,"只需要做一次"
2> update 從服務(wù)器上將其他人所做的修改下載到本地,"每天上班必須要做的事情"
3> commit 將工作提交到服務(wù)器,"每天下班之前至少做一次"
03. SVN服務(wù)器安裝 Visual SVN Server
================================================================================
提示:一般程序員是沒有機(jī)會(huì)安裝SVN服務(wù)器的,以下內(nèi)容僅供了解服務(wù)器上的安裝及配置過(guò)程
* Visual SVN Server 是運(yùn)行在windows操作系統(tǒng)上的,集成了Subversion和Apache
* 傻瓜式安裝一步到位,并提供了圖形化界面,安裝簡(jiǎn)單配置方便
* 下載地址:http://www.visualsvn.com/server/download/
1> 安裝
* 程序目錄
* 代碼倉(cāng)庫(kù)目錄
2> 添加代碼倉(cāng)庫(kù)"weibo"
* 暫時(shí)不勾選默認(rèn)結(jié)構(gòu)(trunk, branches, tags)
3> 添加用戶
* 為了方便后續(xù)的演練,每個(gè)用戶的口令不要設(shè)置成一樣
# 用戶名 口令
# manager manager
# zhangsan zhangsan
# lisi lisi
4> 添加群組,通過(guò)群組可以一次性設(shè)置多個(gè)用戶對(duì)代碼倉(cāng)庫(kù)的訪問(wèn)權(quán)限,便于管理
5> 設(shè)置權(quán)限演練
* 選中項(xiàng)目的代碼庫(kù),點(diǎn)擊右鍵,選擇"Properties"
6> 協(xié)議
* https 端口 443
* http 端口 80
7> 協(xié)議的修改
* 選中"VisualSVN Server",點(diǎn)擊鼠標(biāo)右鍵,選擇"Properties"
* 選擇"Network",勾選"Use secure connection"會(huì)使用https協(xié)議訪問(wèn)服務(wù)器的代碼倉(cāng)庫(kù)
補(bǔ)充:HTTPS = HTTP + SSL
注意:有關(guān)https的概念暫時(shí)不要糾結(jié),有一個(gè)印象就可以!后面課程安全部分會(huì)講到!
--------------------------------------------------------------------------------
HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer)是以安全為目標(biāo)的HTTP通道,
簡(jiǎn)單講是HTTP的安全版
HTTPS提供了身份驗(yàn)證與加密通訊方法,現(xiàn)在被廣泛用于互聯(lián)網(wǎng)上安全敏感的通訊,例如交易支付方面
HTTPS的證書需要申請(qǐng)認(rèn)證,這一認(rèn)證是付費(fèi)的,認(rèn)證網(wǎng)站 http://cn.globalsign.com/
8> 使用瀏覽器瀏覽代碼倉(cāng)庫(kù)
如果使用了https協(xié)議,在不同的瀏覽器中訪問(wèn),顯示效果會(huì)不太一樣
04. SVN演練準(zhǔn)備
================================================================================
1> 顯示隱藏文件夾
# 顯示隱藏文件
$ defaults write com.apple.finder AppleShowAllFiles Yes && killall Finder
# 不顯示隱藏文件
$ defaults write com.apple.finder AppleShowAllFiles No && killall Finder
2> 在桌面上新建一個(gè)文件夾 "svn演練"
依次建立以下三個(gè)目錄
# 經(jīng)理
# 張三
# 李四
05. 命令行準(zhǔn)備
================================================================================
熟悉命令行的目的:所有圖形工具本質(zhì)上都是對(duì)命令行的封裝,理解命令行的操作,更有助于對(duì)圖形工具的使用
1> SVN基本命令
命令行格式:
svn <subcommand> [options] [args]
說(shuō)明
svn 子命令 [選項(xiàng)] [參數(shù)]
提示:
# [中括號(hào)]中包含的內(nèi)容是可選的
# (子命令縮寫)
2> 查看幫助信息
$ svn help
查看svn所有命令的幫助
$ svn help 子命令
3> UNIX常用命令介紹(UNIX常用命令.m)
附錄:UNIX常用命令
================================================================================
1. cd 改變工作目錄
2. pwd 輸出當(dāng)前工作目錄的絕對(duì)路徑
在UNIX中要執(zhí)行什么命令,一定要知道自己當(dāng)前所在的工作目錄
3. ls 查看文件
$ ls 顯示文件
$ ls -a 顯示所有文件
$ ls -l 列表顯示文件
$ ls -la 列表顯示所有文件
4. touch 用于更改文件訪問(wèn)和修改時(shí)間的標(biāo)準(zhǔn)UNIX程序,也被用于創(chuàng)建新文件
$ touch test.txt
注意:touch不修改test.txt內(nèi)容,只更改它的訪問(wèn)、修改時(shí)間,如果test.txt不存在,它會(huì)被創(chuàng)建
5. cat 連續(xù)查看文件內(nèi)容
6. more 分頁(yè)查看文件內(nèi)容
提示:
1> 命令和參數(shù)之間需要添加空格
2> 如果要使用當(dāng)前目錄中的文件名,輸入到一半時(shí),按TAB鍵能夠補(bǔ)全
02-命令行演練
01. 將服務(wù)器文件下載到本地
================================================================================
# 切換工作目錄
$ cd 經(jīng)理的工作目錄
# checkout服務(wù)器上的代碼倉(cāng)庫(kù)
$ svn co http://192.168.1.103/svn/weibo --username=manager --password=manager
提示:checkout(co)之后,命令行會(huì)記錄用戶名和密碼,后續(xù)操作不用再另行指定
02. 經(jīng)理添加文件
================================================================================
* svn 常用命令
--------------------------------------------------------------------------------
# 查看本地代碼庫(kù)狀態(tài)
$ svn st
錯(cuò)誤提示:"is not a working copy",必須在svn的工作目錄下才能正確使用svn的命令
# 查看svn日志
$ svn log
# 查看某一個(gè)文件的日志
$ svn log filename
# 查看某一個(gè)文件某個(gè)版本的日志
$ svn log filename@1
* 創(chuàng)建文件
--------------------------------------------------------------------------------
# 切換到工作目錄
$ cd weibo
# 創(chuàng)建文件
$ touch main.c
# 打開并編寫文件內(nèi)容
$ open main.c
* 將文件提交到服務(wù)器
--------------------------------------------------------------------------------
# 查看工作目錄狀態(tài)
$ svn st
# 將文件添加到本地版本庫(kù)中
$ svn add main.c
# 將文件提交到服務(wù)器的版本庫(kù)中
$ svn ci -m "添加了main.c文件"
"小結(jié)" - 添加文件的兩個(gè)步驟
--------------------------------------------------------------------------------
1> 將新建的文件添加到本地代碼庫(kù)
$ 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=zhangsan
2> 李四
$ svn co http://10.0.1.15/svn/weibo --username=lisi --password=lisi
"小結(jié)" 至此,一個(gè)項(xiàng)目的搭建工作就告一段落了
1> 項(xiàng)目準(zhǔn)備工作,通常由項(xiàng)目經(jīng)理完成
2> 程序員只需要把項(xiàng)目 co 到本地即可
提示:新入職一家公司后,別忘記讓經(jīng)理分配 svn 的賬號(hào)和密碼
04. 張三添加文件
================================================================================
# 添加文件 Person.h Person.m
$ touch Person.h Person.m
# 修改 Person.h Person.m
$ open Person.h
$ open Person.m
# 將 Person.h Person.m 添加到本地代碼庫(kù)
$ 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ù)到之前的某個(gè)版本
$ svn update -r 5
================================================================================
$ svn up
08. 沖突解決
(p) postpone 對(duì)比
(mc) mine-conflict 使用我的
(tc) theirs-conflict 使用對(duì)方的
03-文件狀態(tài)
svn st 顯示的文件狀態(tài)
狀態(tài)說(shuō)明:描述文件被添加、刪除或其他修改
-----------------------------------------------------------------
' ' 沒有修改
'A' 被添加到本地代碼倉(cāng)庫(kù)
'C' 沖突
'D' 被刪除
'I' 被忽略
'M' 被修改
'R' 被替換
'X' 外部定義創(chuàng)建的版本目錄
'?' 文件沒有被添加到本地版本庫(kù)內(nèi),不在SVN的管理之下
'!' 文件丟失或者不完整(不識(shí)別該文件)
'~' 受控文件被其他文件阻隔
'U' 更新最新的代碼到本地(本地有文件的情況下)
'G' 產(chǎn)生沖突后,更新操作去解決沖突,相當(dāng)于進(jìn)行合并
04-圖形化界面
01. 安裝CornerStone
================================================================================
02. 具體操作
================================================================================
1> 添加遠(yuǎn)程代碼倉(cāng)庫(kù)
2> 導(dǎo)出代碼庫(kù)到本地
3> 在本地目錄下使用Xcode新建項(xiàng)目
注意:不要勾選 git,兩套源代碼管理同時(shí)存在會(huì)發(fā)生沖突
4> 提交到代碼倉(cāng)庫(kù)
5> 其他用戶操作
03. 忽略一些不需要上傳的文件
================================================================================
04. SVN演練
================================================================================
1> 修改viewcontroller,提交
2> 添加Person類,提交
3> 代碼沖突演示
4> storyboard沖突演示
5> 利用storyboard查看歷史版本,回退
6> 利用xcode checkout 項(xiàng)目
05. 目錄規(guī)范
================================================================================
1> Trunk
目前項(xiàng)目正在開發(fā)的版本
通常進(jìn)入公司之后在該目錄下開發(fā)
2> Tags
存放已經(jīng)上線的重大版本
3> Branches
當(dāng)發(fā)生重大bug或者有新需求時(shí)
截圖
接口文檔.png
效果圖1.png
效果圖2.png
需求文檔.png
總結(jié)
- http端口號(hào):80
- https端口號(hào):443
- 主機(jī)名就是計(jì)算機(jī)名
- ipconfig:查看IP地址
- .a是靜態(tài)庫(kù),文件顯示為黑色,例如libRegex.a
Snip20170412_152.png
- framework是動(dòng)態(tài)庫(kù)