iOS SVN中trunk、branches、tag的使用
三者定義
trunk:團隊中大部分成員工作的主要倉庫,前期大的團隊的程式碼管理的主要控制元件,它的功能的側重點是開發階段的程式碼的管理的和整合,由於svn的衝突解決方式來進行程式碼衝突的處理,一般是最後提交的需要進行程式碼的處理,Xcode5以後的版本加強了對於svn的整合,所以現在Xcode可以更加方便的進行程式碼的提交和衝突解決,但是為了更好的進行分支和程式碼更新歷史的管理,最好使用客戶端進行輔助管理,比較推薦的Versions比較方便,不需要進行層次深入的更新操作
branches:分支既是從主幹上衍生出來的程式碼副倉庫,當然這個別稱有待商榷,但是它的目的是顯而易見的,就是為某些解決特定問題或者實現特殊功能的大牛們的專用倉庫,他們會在開發的工程中,從團隊的主幹中分離出來,進行特殊的工作,而為了不讓這些特殊的操作影響專案的進度和產品的上線,就從主幹上覆制一份當前的完整程式碼,交給某些人進行特殊功能的開發,如果在產品上線之前,這個分支的問題能夠得到很好的解決的話,就會將分支的功能模組合併到主幹上,為主幹增加光采,當然分支的另一個主要功能是進行不同階段的程式碼的備份
tag:標記是一個比較特殊的分支,儲存的都是已經上線的產品。比如產品1.0上線之後,大家當然要繼續埋頭苦幹為了2.0而加班加點,這個時候如果一旦發現1.0版本有很嚴重的bug,那麼這個時候的操作就是在1.0的tag版本上建立另外一個分支,在這個分支裡修改bug,同時主幹的工作必須繼續進行,儘快的進行產品bug的修復,之後將修改完的版本合併到主幹中去,這樣主幹的工作沒有收到影響,而且即時的解決了bug,並且以後的2.0版本也沒有這個同樣的bug了。
使用場景
場景一:客戶想對產品做定製,但我們並不想修改原有svn中trunk的程式碼
場景二:正在開發產品下階段的任務,但上階段的工作發現問題
如何操作
以svn客戶端最新版為例:
以場景二為例:專案某一階段開發完成後,這個時候需要做一個tag,比如說tag_V1.0,然後基於這個tag釋出一個新版本,trunk進入下階段繼續開發。但是很不幸釋出的版本被檢測出來了bug,有人會提議,把bug放到下階段的任務中去。假設下階段的任務才剛開始,使用者可等不起.他們會認為一個小的bug解決要這麼長時間,效率太低了。那麼就需要基於tag_V1.0做一個branch,branch_bugfix_V1.0,基於這個branch進行bugfix,等到bugfix結束,做一個tag,tag名稱假設為:tag_mf_V1.0,基於這個tag再釋出一個版本。這樣又沒有影響trunk(主分支)的開發。然後,根據需要決定branch_bugfix_V1.0是否併入trunk。
相關文章
- 轉:SVN中trunk,branches,tags用法詳解
- SVN trunk(主線) branch(分支) tag(標記) 用法詳解和詳細操作步驟
- SVN cornerstone專案branch, tags, trunk記錄
- go中Tag的理解與使用Go
- Golang中struct結構標籤(Tag)的使用GolangStruct
- trunk埠匯聚與vlan trunk
- iOS-將程式碼釋出到CocoaPods(trunk方式)iOS
- SVN安裝與在eclipse中的使用Eclipse
- IOS中的動畫使用iOS動畫
- iOS中RAC的使用iOS
- svn使用教程
- 雲伺服器php中的short_open_tag短標籤使用伺服器PHP
- SVN使用和SVN常用命令
- 核心交換機的TRUNK配置功能詳細講解 ( 到底什麼是TRUNK呢?)
- iOS中陀螺儀的使用iOS
- iOS SVN忽略檔案設定iOS
- Delete multiple git remote branches by prefixing colondeleteGitREM
- SVN中clean up的含義
- SVN使用總結
- 如何用xml替換掉structs中的tagXMLStruct
- gitlab cicd中獲取tag值的方式Gitlab
- linux下svn命令的使用Linux
- Protocol Buffers 在 iOS 中的使用ProtocoliOS
- 去除專案中的SVN標記
- myeclipse中svn外掛的漢化Eclipse
- Eclipse中如何修改SVN的地址Eclipse
- demo 013.0 Eth-Trunk
- 如何刪除Git倉庫中冗餘的tag?Git
- JSP中的TAG檔案和TLD檔案JS
- SVN使用教程總結
- 使用SVN命令列工具命令列
- SVN的安裝及使用指南
- Mac環境下本地svn的使用Mac
- iOS中優雅的使用iconfontiOS
- iOS中,Framework和 a的打包及使用iOSFramework
- IOS CoreLocation中CLLocationManager類的基本使用iOS
- BSP tag in CRM and JSP tag in HybrisJS
- Flutter GetX Tag 屬性使用詳解Flutter