svn
1.svn:版本控制?
>防止代碼丟失 n天開一個項目 回家喫谷種
>代碼回退
>整合代碼 多個人開發一個項目,每個做一個模塊
>解決Bug衝突 版本可以查是誰改了哪個文件
>權限控制 新員工去到公司,一般都不會讓你直接修改項目的代碼,查看代碼
•••••
2.svn在工作怎麼使用
>svn分兩個角色 svn服務端/svn客戶端
>svn服務器 "創建一個倉庫 倉庫用來存放代碼和接口文檔
•一般svn服務器的工作由項目經理、項目組長去做
•公司就一個開發ios
>svn服務器的配置
•在電腦(windows/linux/mac)安裝svn服務端應用程序
•一個項目一般對應一個倉庫
•代碼放置在trunk目錄
•添加用戶
•組:把用戶添加到組
總結:svn服務器 1.倉庫的創建和權限的分配
svn服務端的安裝程序會由 '公司的運維人員'
工裝
•會不會在linux上安裝svn服務端程序
>mac訪問xp的svn服務器
http://xpIP/svn/Weibo
>客戶端
•項目經理 - 初始化項目,開發
•開發員 -從svn服務器下載代碼 開發
>項目經理初始化代碼提交到svn的服務器
•把存放代碼的路徑下載到本地,映射到本地路徑(svn checkout
下載)
svn服務端的命令
usage: checkout URL[@REV]...[PATH]
URL[@REV]:代表svn服務器的路徑
[PA
.svn的目錄:是用來記錄版本信息,不能刪除
•創建項目代碼
•把初始化的項目提交到svn服務器 "svn commit"
'錯誤:Weibo isnot under version control 意思是當前的Weibo文件夾不在版本控制下
•svn st //查看文件狀態? 代表不知道你要幹 不知道你這個文件是添加的還是修改
svn add . 把當前的目錄的文件 '納入版本控制'
•svn commit -m "項目經理初始化項目" -m 後面的參數代理標記
每提交一次版本到svn的服務器 svn項目的版本號會+1
>zhangsan '新起一個終端
•把weibo的代碼添加到本地
svn checkouthttp://192.168.14.28/svn/Weibo/code/trunk/Weibo/ --username=zhangsan--password=123456
•修改代碼後提交服務器
svn commit(ci) -m "實現了Person類"
svn log 查看版本日誌
svn update 更新本地版本號
>開發新功能之前,代碼要更新到服務器最新的版本
原因:防止代碼出現Bug,崩潰
"E160024: resource out of date; tryupdating" -- 當前本地版本小於服務器的版本號
"提交版本之前有個前提條件 本地版本號等於服務器版本
把所有人開的項目功能模塊更新
> 解決文件衝突 (多個人對同一個文件進行操作)
*製造環境衝突的現象
•以zhangsan 和 lisi
保證zhangsan 和 lisi 的當前版本號是一至
•以zhangsan修改文件提交
•lisi修改文件提交
Dog.h.mine 自己的代碼修改文件
Dog.h.r7 版本7
Dog.h.r8 版本8
*解決衝突 合併代碼(zhangsan和lisi代碼) 還是使用哪一份代碼
*告訴svn衝突已經解決
>版本回退
lisi 爲例
回退命令:svn revert 文件名 (僅適合還沒有提交到服務器)
svn update -r 版本號 (版本已經提交)
>文件刪除
刪除項目文件的時候,不能直接在文件夾刪除,通過命令方式刪除文件
!號代表你操作不正確
>svn目錄結構
trunk (主杆) 當前開發程序版本
tag 重大版本備份
branches(分支) 備份應用程序版本 1.0 2.0
svn命令
// 下載服務器代碼(文檔)到本地
svn checkout remoteURL localPath
// 提交當前最新的代表到服務器
// *在公司開發當,什麼時候把代表提交服務器?
// 下班 必須提交一次
// 當一個模塊完成的時候,就提交一次,這個模塊如果一天內完成不了,下面前必須提交
svn commit -m "標識"
//更新本地服務器的版本到最新
// 爲什麼更新 提前整合其它人的代碼 整合一個可以運行的項目
// 上班之前更新 防止過多版本衝突
svn update
svn revert 版本回退
svn log 看history版本信息
svn status 查看文件的修改狀態(添加A、修改M、刪除D)
svn命令是基礎