日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SVN 集中式版本管理工具

發布時間:2024/1/17 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SVN 集中式版本管理工具 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

SVN : 集中式版本管理工具

checkout: 下載代碼, 只需要做一次

update : 更新代碼

commit :提交代碼

?

三. SVN服務器搭建及配置(了解)

一. 端口號

http 80 一般是http, 因為SVN一般都是公司內部才能訪問

https 443

?

二. 每次對服務器端做操作, 版本號都會提升

?

三. 安裝

1. 參加一個倉庫, 并配置用戶

2. 應該(虛擬機注意是橋接模式, 網絡是自動獲取ip), 獲取ip地址 (運行 --> cmd --> ipconfig --> 獲取192.168.xx的地址)

3. 在Ma從瀏覽器中更換svn的地址, 進行訪問

?

?四. 常見UNIX命令行的使用(掌握)

pwd : 查看當前目錄

cat : 在命令行中查看文件

?

?五. SVN基本操作(掌握)

?

一. 模擬多人開發

?

?一> .唐僧創建項目

1. cd 到指定文件夾下

2. 下載代碼(指定一個目錄跟服務器保持連接) :? svn checkout http://192.168.23.112/svn/QQ --username=tangseng --password=tangseng

3. 再次cd 到SVN管理目錄下, 千萬不要忘記

4. 創建項目 : touch Car.h (拿一個文件模擬一個項目)

5. 查看狀態: svn status ? status是將本地的代碼和服務器做對比, 不一樣的才會顯示出來

6. 添加文件的管理權: svn add Car.h

7. 提交本地文件給服務器: svn commit -m "初始化了項目, 添加了Car.h文件" ? -m 一定要寫, 以后查看版本時, 是通過注釋來區分的. / ""可以不寫, 是為了英文好區分注釋

8. 更新代碼 : svn update

---------------------------------

9. 刪除文件: 不能直接刪除, 否則up就回來 : svn delete 如來.h , 還需要提交

10. 恢復文件為最初的狀態: (本地被修改, 但是沒有提交服務器 / 文件被本地版本庫刪除了, 但是沒有提交到服務器) : svn revert 如來.h

11. 查看幫助: svn help ,會調出所有的命令

12. 查看日志 : svn log , 查看之前的版本記錄(備注一定要寫, 而且要寫的有意義)

13. 版本穿梭: svn update -r 10 回到第10個版本 , 可以查看之前的代碼, 然后想回到最新的代碼, 只要up一次, 即可

14. 告訴本地版本庫解決了沖突 : svn resolved Car.h

?

二> 悟空加入開發(老手)

1. cd 到指定文件夾下

2. 下載代碼(指定一個目錄跟服務器保持連接) :? svn checkout http://192.168.23.112/svn/QQ --username=tangseng --password=tangseng

3. 再次cd 到SVN管理目錄下, 千萬不要忘記

4. 正常開發, 該更新就更新, 該提交就提交

?

三> 八戒加入開發(新手)

1. cd 到指定文件夾下

2. 下載代碼(指定一個目錄跟服務器保持連接) :? svn checkout http://192.168.23.112/svn/QQ --username=bajie --password=bajie

3. 再次cd 到SVN管理目錄下, 千萬不要忘記

4. 正常開發, 該更新就更新, 該提交就提交

?

團隊開發, 就是, 寫完提交, 別人更新

?

二. 常見命令的簡寫

checkout : svn co

status : svn st

commit : svn ci

update : svn up

?

三. 常見狀態解釋

? : 文件在SVN管理的目錄下, 但是沒有被SVN所管理. 看見? , 記得add

A : 文件在SVN管理的目錄下, 并且, 已經被本地SVN版本庫管理, 看見A, 記得commit

D : 文件在本地刪除, 還需要提交

M : 文件在本地被修改過, 需要提交

G : 文件曾經發生過沖突, 然后被解決了

U : 文件被更新

C : 文件發生了沖突

?

?

四. 常見報錯:

1. is not a working copy : 說明沒有進入到SVN管理的目錄. 就進行了SVN的命令. 應該進入到正確目錄

?

2. xcrun: error: active developer path ("/Applications/Xcode 2.app/Contents/Developer") does not exist, use `xcode-select --switch path/to/Xcode.app` to specify the Xcode that you wish to use for command line developer tools (or see `man xcode-select`)

解決方案: 當多個Xcode版本同時存在, 可能工具就混亂了. 需要選擇一下. 找Xcode --> 偏好設置 --> Locations --> command line 選擇一下即可

?

3.? is out of date : 文件過期 . 如果發生了沖突, 那么直接提交時, 會報此錯誤. 應該update.

?

五. 注意事項

1. 先更新, 再提交. (不會覆蓋掉剛剛寫的代碼, 因為修改的文件版本高于服務器版本, 不會被覆蓋.) 可以檢測到沖突, 這只是一個操作規范.

2. 每一個文件都有單獨的版本號, 24 - 25

3. 及時提交, 沒做完一個小板塊, 或者一個小功能就提交. 避免沖突

4. 如何避免沖突:? 分模塊, 溝通 .

?

?

六. 解決代碼沖突

1. 代碼沖突: 同一個文件, 同一行, 兩個不同的人修改并提交. 就會發生沖突

?

2. 更新時, 如果發生沖突時會報以下錯誤

Conflict discovered in '/Users/apple/Desktop/SVN演練/八戒/Weixin/Car.h'.

//常用

(p) postpone : 延遲處理(svn工具不會幫你做解決沖突的事情, 自己手動解決) (版本會發生改變, 所以解決完沖突需要提交)

(mc) mine-conflict : 使用我的代碼, 覆蓋服務器的代碼 . 還需要提交一次 (版本會發生改變, 所以需要提交)

(tc) theirs-conflict : 使用服務器的代碼(他們的), 丟棄我的代碼 (版本不會發生改變)

?

//不常用

(s) show all options : 展示所有的選項

(df) diff-full : 展示所有不同

(e) edit : 編輯, 在命令行中編輯

?

3. 發生沖突的文件會發生改變

<<<<<<< .mine ~? ======= 我的代碼

======= ~ >>>>>>> .r24? 服務器的代碼

?

<<<<<<< .mine

@property (nonatomic, strong) NSString *banana3; // 悟空增加了香蕉3=======

@property (nonatomic, strong) NSString *xiaomi; // 八戒增加了小米>>>>>>> .r24

?

4. 解決沖突的方案:

? ? 1. (建議)選p, 延遲解決

? ? 2. 刪除不認識的代碼(<< == >> ), 然后自己合并代碼

? ? 3. 告訴本地版本庫, 自己已經解決了沖突: svn resolved Car.h

? ? 4. 需要提交代碼 (其它人更新即可)

?

七. 使用第三方圖形化工具

http://192.168.23.112/svn/Weibo/trunk

1. 小提示: 使用Cornerstone時, 拷貝svn網址, Cornerstone會自動將地址填入界面內.

2. 使用Cornerstone, 應該先連接遠程倉庫(左下角), 然后點擊checkout下載代碼.

注意: checkout選擇目錄時, 應將底部svn版本選擇為1.7. 因為mac默認就是1.7版本. 如果版本過低, xcode會提示升級, 然后Cornerstone重啟一次即可

?

?

3. 忽略文件:

? ? 1. .xcuserstate 不要提交給服務器. 此文件記錄了用戶當前展示的文件, 及目錄展開結構

? ? 2. (非項目文件)data后綴的(還包括用戶斷點) 都可以忽略不提交

? ? 3. 通過工具, 先delete, 在commit, 再次編輯時就會出現, 最后選擇ignore

?

八. 使用Xcode集成SVN

1. checkout : 三種方式

? ? 1. xcode歡迎界面, 選擇第三個選項, 即可checkout

? ? 2. 選中xcode, 找偏好設置, 找賬戶, 左下角添加遠程倉庫

? ? 3.? 選中xcode, 找頂部的source control菜單, 選擇checkout (最簡單)

?

2. 常用快捷鍵

? ? 1. update : com + opt + x

? ? 2. commit : com + opt + c

?

3. xcode解決代碼沖突

? ? 只要更新, 一旦沖突, 就會有個界面提示選擇. 應該選擇下方的四個小按鈕, update, 最后commmit就可以了. (沒有提示resolved)

?

4. 如果將來寫代碼, 發現文件改的不像樣子, 可以直接丟棄修改

?

5. SB / Xib 發生沖突的解決方案: 需要右鍵查看源碼, 然后自己比對丟失的代碼.? 團隊開發中, 盡量避免界面發生沖突 (如果不小心移動了界面, 那么可以丟棄修改)

?九. SVN目錄結構

trunk : 開發主目錄

branch : 分支, 一般用于修復bug或者開發新功能.?

tags : 備份重大版本(一般可以備份上架AppStore的版本)

?

轉載于:https://www.cnblogs.com/yilizhijiaotianxiashao-yincaiersanshijianduo/p/5437124.html

總結

以上是生活随笔為你收集整理的SVN 集中式版本管理工具的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。