SVN的trunk是指最一開始的開發主線,也就是所有branches分支最原本的源頭。
一個標準的SVN版控目錄中,"通常"會有trunk,branches和tags。
會說"通常"是因為這並非SVN的硬性規定,要叫其他名稱也可以,不過一般都是用trunk,branches和tags。
初始一個SVN repository後,最開始就只有一個叫trunk的主線,然後第一個branches就是由trunk所複製出來的分支,通常團隊成員在開發新功能或解bug時不會在trunk上進行,而是會從主線切一條branches來開發,待功能或問題解決並測試完後才會合併(merge)回主線。而tag則用來標註truck或branches上某個有特殊意義的提交點,例如該提交點代表某個版本,或是某個新功能,或是解了某個bug。
使用tags的理由是從SVN提交的歷史紀錄(log)上很難看出或是找到某個具有意義的提交點。你或許會想:「在提交時的寫在註解就好啦」,例如
+----------+---------+----------+------------------+ | Revision | Author | Date | Message | +--------------------------------------------------+ | 10001 | John |2019/5/19 | v1.0.2 | +--------------------------------------------------+ | 10000 | Louis |2019/5/10 | fix xxx issue | +----------+--------------------+------------------+ | 9999 | Louis |2019/5/3 | refactor | +----------+--------------------+------------------+
雖然上面在註解中寫下了第10001次的提交代表專案的版本v1.0.2版,但註解中在SVN log上並不會特別標註出來,你只能翻遍紀錄中的每一次提交才找得到,因此才需要tags來標註這個10001次提交點為v1.0.2版,日後要找到這個版本的提交點只要搜尋tags即可快速找到。
參考:
沒有留言:
張貼留言