SVN筆記
一、 原始碼管理工具概述(PPT)
原始碼管理工具概述(PPT)
原始碼管理工具的作用:
能追蹤一個專案從誕生一直到定案的過程
記錄一個專案的所有內容變化
方便地查閱特定版本的修訂情況如果是團隊開發,使用原始碼管理工具是強制性的!
如果是單人開發,也強烈建議現在就開始使用原始碼管理工具
使用原始碼管理工具
由於使用簡單,不會增加工作量
不會對現有工作造成任何損害(壞的影響)
是一位合格的軟體開發人員必須掌握的技術
SVN介紹(PPT)
SVN 是集中式原始碼管理工具
概念:
1> Repository 程式碼倉庫,儲存程式碼的倉庫
2> Server 伺服器,儲存所有版本的程式碼倉庫
3> Client 客戶端,只儲存當前使用者的程式碼倉庫
4> 使用者名稱&密碼 訪問程式碼倉庫需要使用自己的”使用者名稱和密碼”,從而可以區分出不同的人對程式碼做的修改
操作:
1> checkout 將伺服器上最新的程式碼倉庫下載到本地,”只需要做一次”
2> update 從伺服器上將其他人所做的修改下載到本地,”每天上班必須要做的事情”
3> commit 將工作提交到伺服器,”每天下班之前至少做一次”
- 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 jingli
zhangsan zhang
lisi li
4> 新增群組,通過群組可以一次性設定多個使用者對程式碼倉庫的訪問許可權,便於管理
5> 設定許可權演練
* 選中專案的程式碼庫,點選右鍵,選擇”Properties”
6> 協議
* https 埠 443
* http 埠 80
7> 協議的修改
* 選中”VisualSVN Server”,點選滑鼠右鍵,選擇”Properties”
* 選擇”Network”,勾選”Use secure connection”會使用https協議訪問伺服器的程式碼倉庫
補充:HTTPS = HTTP + SSL
注意:有關https的概念暫時不要糾結,有一個印象就可以!後面課程安全部分會講到!
HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer)是以安全為目標的HTTP通道,
簡單講是HTTP的安全版
HTTPS提供了身份驗證與加密通訊方法,現在被廣泛用於網際網路上安全敏感的通訊,例如交易支付方面
HTTPS的證書需要申請認證,這一認證是付費的,認證網站 http://cn.globalsign.com/
8> 使用瀏覽器瀏覽程式碼倉庫
如果使用了https協議,在不同的瀏覽器中訪問,顯示效果會不太一樣
- SVN演練準備
1> 顯示隱藏資料夾
顯示隱藏檔案
defaults write com.apple.finder AppleShowAllFiles Yes && killall Finder
不顯示隱藏檔案defaults write com.apple.finder AppleShowAllFiles Yes && killall Finder 不顯示隱藏檔案defaults write com.apple.finder AppleShowAllFiles No && killall Finder
2> 在桌面上新建一個資料夾 “svn演練”
依次建立以下三個目錄
經理
張三
李四
- 命令列準備
熟悉命令列的目的:所有圖形工具本質上都是對命令列的封裝,理解命令列的操作,更有助於對圖形工具的使用
1> SVN基本命令
命令列格式:
svn [options] [args]
說明
svn 子命令 [選項] [引數]
提示:
[中括號]中包含的內容是可選的
(子命令縮寫)
2> 檢視幫助資訊
3> UNIX常用命令介紹(UNIX常用命令.m)
二 :UNIX常用命令
附錄:UNIX常用命令
cd 改變工作目錄
pwd 輸出當前工作目錄的絕對路徑
在UNIX中要執行什麼命令,一定要知道自己當前所在的工作目錄ls 檢視檔案
ls顯示文件 ls 顯示檔案ls -a 顯示所有檔案
ls−l列表顯示文件 ls -l 列表顯示檔案ls -la 列表顯示所有檔案
$ ls -G 帶顏色顯示touch 用於更改檔案訪問和修改時間的標準UNIX程式,也被用於建立新檔案
$ touch myfile.txt
注意:touch不修改myfile.txt內容,只更改它的訪問、修改時間,如果myfile.txt不存在,它會被建立
cat 連續檢視檔案內容
more 分頁檢視檔案內容
提示:
1> 命令和引數之間需要新增空格
2> 如果要使用當前目錄中的檔名,輸入到一半時,按TAB鍵能夠補全
三 :命令列演練
- 將伺服器檔案下載到本地
切換工作目錄
cd經理的工作目錄checkout服務器上的代碼倉庫 cd 經理的工作目錄 checkout伺服器上的程式碼倉庫svn co http://10.0.1.15/svn/weibo –username manager –password jingli
提示:checkout(co)之後,原生程式碼庫中會記錄使用者名稱和密碼,後續操作不用再另行指定
- 經理新增檔案
- svn 常用命令
檢視原生程式碼庫狀態
檢視某一個檔案的日誌
- 建立檔案
切換到工作目錄
開啟並編寫檔案內容
$ open main.c
- 將檔案提交到伺服器
檢視工作目錄狀態
svnst將文件添加到本地版本庫中 svn st 將檔案新增到本地版本庫中svn add main.c
將檔案提交到伺服器的版本庫中
$ svn ci -m “新增了main.c檔案”
“小結” - 新增檔案的兩個步驟
1> 將新建的檔案新增到原生程式碼庫
注意:一定要養成寫註釋的良好習慣
- 團隊成員加入
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
“小結” 至此,一個專案的搭建工作就告一段落了
1> 專案準備工作,通常由專案經理完成
2> 程式設計師只需要把專案 co 到本地即可
提示:新入職一家公司後,別忘記讓經理分配 svn 的賬號和密碼
張三新增檔案
新增檔案 Person.h Person.m
touchPerson.hPerson.m修改Person.hPerson.m touch Person.h Person.m 修改 Person.h Person.mopen Person.h
openPerson.m將Person.hPerson.m添加到本地代碼庫 open Person.m 將 Person.h Person.m 新增到原生程式碼庫svn add Person.*
將內容提交到伺服器
$ svn ci -m “新增了Person類”刪除檔案
刪除檔案
svnrmPerson.h提交刪除 svn rm Person.h 提交刪除svn ci -m “刪除了檔案”
注意:不要使用檔案管理器直接刪除檔案
- 撤銷修改
$ svn revert Person.m
- 恢復到之前的某個版本
$ svn up
- 衝突解決
(p) postpone 對比
(mc) mine-conflict 使用我的
(tc) theirs-conflict 使用對方的
四 檔案狀態
svn st 顯示的檔案狀態
第1列狀態說明:描述檔案被新增、刪除或其他修改
’ ’ 沒有修改
‘A’ 被新增到原生程式碼倉庫
‘C’ 衝突
‘D’ 被刪除
‘I’ 被忽略
‘M’ 被修改
‘R’ 被替換
‘X’ 外部定義建立的版本目錄
‘?’ 檔案沒有被新增到本地版本庫內
‘!’ 檔案丟失或者不完整(不是通過svn命令刪除的檔案)
‘~’ 受控檔案被其他檔案阻隔
五 Xcode演練
安裝CornerStone
具體操作
1> 新增遠端程式碼倉庫
2> 到處程式碼庫到本地
3> 在本地目錄下使用Xcode新建專案
注意:不要勾選 git,兩套原始碼管理同時存在會發生衝突
4> 升級SVN版本庫
5> 退出Xcode
6> 在CornerStone中忽略個人使用者檔案”xcuserdata”,否則每次都要提交,非常繁瑣!
提示:xcuserdata目錄中為保留使用者上次開啟的檔案,除錯設定的斷點等資訊
7> 在CornerStone中提交專案
8> 其他使用者操作
- SVN演練
1> 修改檔案
2> 修改Storyboard
3> 合併衝突(僅在兩個人同時修改一行程式碼時,才會出現衝突)
- 多Storyboard
1> 多Storyboard在專案開發中的應用技巧
2> 自動佈局小結
介面上任何一個控制元件,都可以”參照”其他控制元件的位置準確定位位置
通過自動佈局的約束,能夠設定出控制元件的frame => x, y, width, height
Xcode 6中很多控制元件的 x,y 值可以省略
在Storyboard中使用自動佈局的技巧
(1) 先擺好所有控制元件的所在位置
(2) 通過Pin設定控制元件與其他控制元件的”參照”位置
(3) 通過Align設定控制元件與其他空間的”參照”對齊方式
(4) 儘量把一組相關的控制元件包裝在子檢視內,這樣在設定自動佈局時,只需要指定大的子檢視之間的約束關係就可以了
自動佈局中的錯誤資訊
紅色錯誤:如果指定的約束不完整->不能準確定位檢視位置
黃色警告:如果指定的約束定位的位置,與控制元件在Storyboard的實際擺放位置不一致,會提示警告資訊
- 分支演練
相關文章
- SVN 學習筆記筆記
- 區域網兩臺筆記本如何使用svn筆記
- 09.SVN入門筆記——在 Eclipse 中使用 SVN 客戶端外掛解決衝突筆記Eclipse客戶端
- linux雜談筆記之 版本管理工具svn&gitLinux筆記Git
- SVN解決衝突 記錄
- SVN——使用方法基礎記錄
- 去除專案中的SVN標記
- SVN cornerstone專案branch, tags, trunk記錄
- svn
- SVN-SVN外掛下載
- 正式版SVN伺服器安裝記錄伺服器
- SVN管理是什麼?SVN安裝教程,SVN可以做什麼
- SVN使用和SVN常用命令
- 印象筆記 --- 方法分享筆記筆記
- svn命令
- svn專案遷移至gitlab流程(保留提交記錄)Gitlab
- 筆記筆記
- SVN培訓筆記(下拉專案、同步修改、新增檔案、修改檔案、刪除檔案、改名檔案等)筆記
- svn歷史版本刪除(為svn庫瘦身)
- SVN 建立版本庫 與 啟動 SVN 服務
- SVN學習之windows下svn的安裝Windows
- CUUG筆記 ORACLE索引學習筆記筆記Oracle索引
- 主動筆記與被動筆記筆記
- svn基本操作
- Git vs SVNGit
- SVN 學習
- SVN快速操作
- SVN新手教程
- Tortoises SVN 教程
- svn commitMIT
- svn使用教程
- 淘寶記錄筆記筆記
- SVN-MyEclipse安裝SVN外掛的方法Eclipse
- 心情筆記筆記
- 命令筆記筆記
- 筆記:Docker筆記Docker
- Meteor筆記筆記
- ES筆記筆記