分支 (版本控制)

✍ dations ◷ 2024-12-23 00:22:13 #版本控制系统,版本控制

在版本控制与软件配置管理中,分支(英语:Branching)是由某个版本的程式码或软件物件中建立复制版本,在分支出来后的两个版本,可以独立进行修改。

分支会形成树状结构,也被称为trees,streams或codelines。原始的版本,称为父分支(parent branch)或是上游分支(upstream branch)。分支出来的复本,称为子分支(Child branches)。作为最源头,没有父分支的分支,称为主干(trunk)或主线(mainline)。

在分散式版本控制系统(例如Darcs(英语:Darcs))中,分支和存放版本的仓库(repository)是一样的。在这类系统,复制一份仓库的复本和分支是一样的。

软件进行分支后,之后有可能会再将分支合并回父分支。常见的是将修改内容合并回主干(有可能主干不是父分支)。若某个分支不打算合并(例如曾由第三方授权,授权内容不相容,因此已重新授权(英语:relicensing),或是用在不同用途上),会称为分叉(fork)。

建立分支可以让各部分的程式码可以平行开发。大型专案会有不同的参与者,例如开发人员、build管理者,以及软件质量保证人员等。甚至需要维护针对不同操作系统的不同发行版。分支可以让参与者在不破坏基础代码稳定性的情形下,将修改和基础代码隔离,再进行程式错误修正、新机能(英语:Feature (software design))开发、软件版本整合等。这些修改可以在测试完成后,再合并回主线。

开发分支(development branch)或开发树(development tree)的程式码是指正在软件开发,但还没有正式发行的程式码。若在开放源代码社群中,“正式发行”不是那么直觉,因为任何人随时都可以取出(check out)需要的版本,不管是不是在开发分支中都可以取出。一般而言,最终会是下一个主要版本的分支就是开发分支。不过也常常同时开发多个机能,因此存在多个开发分支。

有些版本控制软件会针对主要的开发分支有特殊的命名,例如在CVS中称为MAIN,在Git中则称为master。

在cvc(英语:cvc system)(开源软件,整合rPath开发的版本控制系统)及CVSNT(英语:CVSNT)中,可以针对上游的分支建立阴影分支或魔术分支,在小修改的维护上比较方便。

在分散式版本控制中,可以复制整个仓库(以及其中的分支),之后再进行开发。Monotone(mtn)、Mercurial(hg)及Git称为clone。

相关

  • 河静省河静省(越南语:Tỉnh Hà Tĩnh/.mw-parser-output .han-nom{font-family:"Nom Na Tong","Han-Nom Gothic","Han-Nom Ming","HAN NOM A","HAN NOM B","Ming-Lt-HKSCS-UNI-H","M
  • 法国艺术与文学骑士勋章艺术与文学勋章(法语:Ordre des Arts et des Lettres),法国的荣誉勋章,其宗旨表扬在文学界与艺术界中,有杰出贡献,或是致力于传播这些贡献的人物。在1957年5月2日由法国政府文化部
  • 泛斯拉夫主义狭义的泛斯拉夫主义是指19世纪时,巴尔干半岛上的斯拉夫民族(包括黑山人,塞尔维亚人及保加利亚人)希望在俄国的领导下对抗奥斯曼帝国而团结起来。而俄国自居为斯拉夫民族的大哥,希
  • TV1TV1是马来西亚的一个公共免费电视台,由马来西亚广播电视运营。该电视台于1963年12月28日开台,是马来西亚最早的电视台,并在2012年8月21日起全天24小时播出。在1972至1994,TV1和
  • 演化 (消歧义)演化、演变、演进、是翻译自英文“Evolution”,这个字有许多意义,其中包括许多作品。以下名单为列举,关于更多以Evolution为名的事物,可参考其他语言版本。
  • 天主教帕西格教区天主教帕西格教区 (拉丁语:Dioecesis Pasigina、他加禄语:Diyosesis ng Pasig)是菲律宾一个罗马天主教教区,属马尼拉总教区。辖区包括帕西格市、达义市和帕特罗斯市。2006年有教
  • 苏珊娜·阿拉科斯基贾娜·苏珊娜·埃米利亚·阿拉科斯基·瑟德隆德(Jaana Susanna Emilia Alakoski Söderlund,婚前姓Alakoski,1962年5月16日-)是一位出生于芬兰瓦萨的芬兰裔瑞典作家,小说家和讲师
  • 玫瑰十字会玫瑰十字会(德语:Rosenkreuzer;英语:Rosicrucianism),是中世纪末期的一个欧洲秘传教团,以玫瑰和十字作为它的象征。该会一直保持神秘,不为外人知晓。直至17世纪初,有人以匿名在日耳曼
  • 阿列克谢·伊万诺维奇·什巴耶夫阿列克谢·伊万诺维奇·什巴耶夫(俄语:Алексе́й Ива́нович Шиба́ев,1915年2月21日-1991年7月23日)苏共萨拉托夫地区委员会第一书记,原全苏工会中央理事会
  • 加西亚 (科罗拉多州)加西亚(英语:Garcia)是位于美国科罗拉多州科斯蒂亚县的一个非建制地区。该地的面积和人口皆未知。加西亚的座标为37°00′12″N 105°32′12″W / 37.00333°N 105.53667°W /